/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--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{:host,:root{--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{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-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;overflow:hidden}.absolute,.sr-only{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)}.blur,.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}body,html{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);-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;color-scheme:dark}.primary{cursor:pointer;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-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:13px}.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-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);display:grid}.metrics article{border-radius:22px;align-items:center;gap:17px;min-height:118px;padding:22px;display:flex}.metric{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)}.metrics b{letter-spacing:-1px;font-size:28px}.metrics em{color:var(--muted);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:13px}.project-tools>div button.active{color:#6747e4;box-shadow:0 5px 15px #2a2e480f}.project-tools>div button.active,.square{background:var(--panel-strong);border-color:var(--line)}.square{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)}.project-grid{gap:20px;display:grid}.project-card{cursor:pointer;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)}.special,.status{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-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;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;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:13px}.map-card-menu>button small{color:var(--muted);font-size:13px;line-height:1.3}.map-card-menu>button.danger:hover{background:#e24e6917}.map-card-menu>button.danger b,.map-card-menu>button.danger>svg{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:13px;line-height:1.55}.delete-map-disconnect{color:var(--muted);margin:14px 4px 4px;font-size:13px;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}.card-info h3{letter-spacing:-.35px;margin:7px 0 16px;font-size:16px}.card-info p{color:var(--muted);margin:0;display:grid}.card-info p span,.dash-content>footer{align-items:center;gap:7px;display:flex}.dash-content>footer{color:var(--muted);margin-top:27px}.dash-content>footer svg{width:14px}.workspace{height:100vh;color:var(--ink);background:var(--surface);overflow:hidden}.work-head{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:13px;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:13px}.dates input{color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:13px}.head-actions,.head-actions button{align-items:center;gap:7px;display:flex}.head-actions button{height:39px;color:var(--muted);border-radius:11px;padding:0 12px}.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}.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-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:13px;line-height:1.35}.side-panel{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}.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}.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:13px}.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;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:13px}.loc-row em{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);opacity:.78;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)}.group-intro button{color:#6546df;cursor:pointer;background:#7657ff1f;border:0;border-radius:10px;gap:5px;height:34px;padding:0 11px;font-weight:650}.group-intro button,.group-intro-actions{align-items:center;margin-left:auto;display:flex}.group-intro-actions{gap:6px}.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}.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;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:13px;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{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:13px}.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:13px}.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:13px;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:13px;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,.tool-polygon .maplibregl-canvas-container{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;gap:9px;padding:9px 9px 9px 14px;position:absolute;top:94px;left:50%;transform:translate(-50%)}.helper,.helper span{align-items:center;display:flex}.helper span{color:var(--muted);gap:7px}.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}.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;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)}.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:13px}.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:13px;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:13px}.selection-inspector{z-index:10;border-radius:20px;width:285px;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:13px;font-weight:700}.selection-inspector header b{font-size:15px}.selection-inspector header button{color:var(--muted);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:13px;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:13px;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:13px;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:13px;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:13px;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:13px;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:13px;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:13px;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:13px}.pin-detail-card p{color:#3f4857;border-top:1px solid #32394517;margin:6px 0 0;padding-top:9px;font-size:13px;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:13px;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)}.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:13px;font-weight:730;display:flex}.form-grid input,.modal textarea,.modal>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:13px}.modal textarea{resize:none;height:190px;font-family:inherit;line-height:1.6}.form-grid input:focus,.modal input:focus,.modal textarea: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:13px;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;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:13px;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:13px;font-weight:720;display:grid}.form-grid label .field-label{align-items:baseline;display:inline-flex}.form-grid label .required-mark{color:#e34d69;margin-left:3px;font-size:13px;font-style:normal;line-height:0}.form-grid label .optional-mark{color:var(--muted);opacity:.7;letter-spacing:0;text-transform:none;margin-left:5px;font-style:normal;font-weight:520}.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:13px}.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:13px;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:glass-select-in .16s both;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.active,.glass-select-menu>button:hover{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:13px;font-weight:570;overflow:hidden}.glass-select-menu>button small{color:var(--muted);letter-spacing:.9px;text-transform:uppercase;font-size:13px;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}.glass-select-menu.glass-select-portal.dark,[data-theme=dark] .glass-select-menu{background:#1d222af0;border-color:#ffffff1f;box-shadow:0 26px 76px #0000006b,inset 0 1px #ffffff14}.glass-select-menu.glass-select-portal.dark,.glass-select-menu.glass-select-portal.dark>button,[data-theme=dark] .glass-select-menu{color:#f3f5f8}.glass-select-menu.glass-select-portal.dark>button small{color:#aeb7c5}.glass-select-menu.glass-select-portal.dark>button.selected,[data-theme=dark] .glass-select-menu>button.selected{color:#c1b4ff;background:#8b71ff2e}.glass-select-menu.glass-select-portal.dark,[data-theme=dark] .glass-select-menu.glass-select-portal{scrollbar-color:#dde2eb47 transparent}.glass-select-menu.glass-select-portal.dark::-webkit-scrollbar-thumb,[data-theme=dark] .glass-select-menu.glass-select-portal::-webkit-scrollbar-thumb{background:#dde2eb42 padding-box padding-box}.connection-confirmation{color:#087b61;align-items:center;gap:7px;margin:9px 0 17px;font-size:13px;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:focus-visible,.connect-map-choices>button:hover{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:13px;line-height:1.5}.connect-map-choices strong{color:#6848df;margin-top:auto;font-size:13px}.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:13px;display:inline-flex}.connect-step-head button svg{width:13px}.connect-step-head>span{color:var(--muted);font-size:13px}.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:13px;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:13px;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:13px}.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:13px}.connected-map-prefill small{color:var(--muted);font-size:13px}.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:13px;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:13px;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:13px;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:13px;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:focus-visible,.connect-map-list.name-only>button:hover{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:13px}.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:13px}.connect-map-list>button p small{color:var(--muted);font-size:13px}.connect-map-list>button strong{color:#6244dc;background:#7657ff1a;border-radius:999px;padding:7px 9px;font-size:13px}.connect-map-list>p{color:var(--muted);text-align:center;font-size:13px}.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:13px;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:13px}.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:13px;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:13px;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:13px;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:13px;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}.overlay,.selection-inspector{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,#f5eee3 55%,#e9edf4);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>div,[data-theme=dark] .project-tools>label{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:13px}.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:13px}.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:13px}.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:focus,.project-card:hover{transform:translateY(-5px);box-shadow:0 34px 88px #272f3a2e}.preview{height:148px}.special,.status{border-radius:999px;padding:6px 10px;font-size:13px;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:13px}.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:13px}.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-file p,.layer-folder-head p{flex:1;gap:5px;margin:0;display:grid}.layer-folder-head b{font-size:20px}.layer-file small,.layer-folder-head 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:layerPreviewIn .32s both;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:13px;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 .side-panel.glass,.workspace .work-head.glass{-webkit-backdrop-filter:blur(42px)saturate(138%);background:linear-gradient(145deg,#ffffffe8,#faf8f4d6);border-color:#ffffffc2}.workspace[data-theme=dark] .side-panel.glass,.workspace[data-theme=dark] .work-head.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}.dates input,.dates label small,.title-edit span{font-size:13px}.head-actions{gap:8px}.head-actions button{border-radius:999px;height:42px;padding-inline:14px;font-size:13px}.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:13px}.settings-popover .layer-toggle,.settings-popover .settings-menu-item{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 .layer-toggle:hover,.settings-popover .settings-menu-item:hover{border-color:var(--line);background:#fff}.layer-toggle>span,.settings-menu-item>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}.layer-toggle p,.settings-menu-item p{gap:4px;margin:0;display:grid}.layer-toggle b,.settings-menu-item b{color:var(--ink);font-size:14px}.layer-toggle small,.settings-menu-item small{color:var(--muted);font-size:13px;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:13px}.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:13px;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{box-shadow:0 28px 74px #00000075,0 4px 16px #0000004d}[data-theme=dark] .settings-popover,[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 .layer-toggle:hover,[data-theme=dark] .settings-popover .settings-menu-item: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 .custom-colour-picker,.map-stage.view-progress .group-drop-guide,.map-stage.view-progress .overlay,.map-stage.view-progress .selection-inspector{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:13px;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:13px}.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>div>button,[data-theme=dark] .progress-locations-panel>label{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:13px;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:13px;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:13px}.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:13px}.selected-counter b{font-size:16px}.selected-counter button{padding:7px 11px;font-size:13px}[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:13px}.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:13px;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:13px}.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:13px;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:13px}.group-intro button{border-radius:999px;height:39px;padding-inline:13px;font-size:13px}.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:13px}.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:13px;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 em,[data-theme=dark] .loc-row:hover small{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{padding:11px 11px 11px 16px}.helper,.helper button{border-radius:999px;font-size:13px}.helper button{height:35px}.helper .primary-mini{background:#171b23}.mode-note{border-radius:999px;padding:11px 16px;font-size:13px}.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:13px}.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:13px}.form-grid input,.modal textarea,.modal>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:13px}.modal footer .primary{background:#171b23}.quick-add-wrap{padding:18px}.quick-add-modal{background:#fcfaf6fa;flex-direction:column;width:min(980px,100vw - 36px);height:min(820px,100vh - 36px);max-height:none;padding:26px;display:flex;overflow:hidden;box-shadow:0 36px 110px #14192257}[data-theme=dark] .quick-add-modal{background:#1c2129fc}.quick-add-modal>header{flex:none;margin-bottom:18px}.quick-add-steps{border:1px solid var(--line);background:#757e8b12;border-radius:20px;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:6px;display:grid}.quick-add-steps button{min-width:0;min-height:56px;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:15px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 10px;display:grid}.quick-add-steps button>span{background:#757e8b1a;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.quick-add-steps button svg{width:16px}.quick-add-steps button b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.quick-add-steps button small{font-size:13px}.quick-add-steps button.active{color:var(--ink);background:var(--panel-strong);box-shadow:0 8px 24px #181e281a}.quick-add-steps button.active>span{color:#6848e5;background:#7657ff21}.quick-add-steps button.complete>span{color:#087b61;background:#13b8a621}.quick-add-scroll{scrollbar-width:thin;scrollbar-color:#6e788857 transparent;flex:1;min-height:0;margin:18px -8px 0 0;padding-right:8px;overflow-y:auto}.quick-add-stage{min-height:100%;padding:4px 2px 12px}.quick-add-stage-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.quick-add-stage-heading>span{color:#6848e5;background:#7657ff1f;border-radius:15px;flex:0 0 43px;place-items:center;width:43px;height:43px;font-size:13px;font-weight:780;display:grid}.quick-add-stage-heading>p{gap:3px;min-width:0;margin:0;display:grid}.quick-add-stage-heading>p b{letter-spacing:-.55px;font-size:23px}.quick-add-stage-heading>p small{color:var(--muted);font-size:14px}.quick-add-stage-heading>strong{color:#6848e5;background:#7657ff1a;border-radius:999px;margin-left:auto;padding:9px 13px;font-size:13px}.quick-add-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.quick-add-form-grid label,.quick-map-details label{color:var(--muted);letter-spacing:.75px;gap:8px;font-size:13px;font-weight:730;display:grid}.quick-add-form-grid label>i,.quick-map-details label>i{color:#dc4560;font-size:13px;font-style:normal}.quick-add-form-grid label>span{opacity:.66;letter-spacing:0;text-transform:none;margin-left:4px;font-weight:520}.quick-add-form-grid label.full{grid-column:1/-1}.quick-add-form-grid input,.quick-add-form-grid textarea,.quick-map-details input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:var(--panel-strong);font:inherit;letter-spacing:0;border-radius:16px;outline:0;padding:0 14px;font-size:14px}.quick-add-form-grid textarea{resize:vertical;height:96px;padding-block:13px;line-height:1.45}.quick-add-form-grid input:focus,.quick-add-form-grid textarea:focus,.quick-map-details input:focus{border-color:#7657ff7a;box-shadow:0 0 0 4px #7657ff1a}.quick-map-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.quick-map-options>button{border:1px solid var(--line);min-height:146px;color:var(--ink);background:var(--panel-strong);cursor:pointer;text-align:left;border-radius:22px;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:13px;padding:17px;display:grid;position:relative}.quick-map-options>button>span{color:#6848e5;background:#7657ff1c;border-radius:15px;place-items:center;width:46px;height:46px;display:grid}.quick-map-options>button>span svg{width:19px}.quick-map-options>button>p{gap:6px;margin:4px 0 0;display:grid}.quick-map-options>button b{font-size:17px}.quick-map-options>button small{color:var(--muted);font-size:13px;line-height:1.4}.quick-map-options>button>svg{color:#6848e5;width:17px;position:absolute;top:14px;right:14px}.quick-map-options>button.selected{background:#7657ff14;border-color:#7657ff6b;box-shadow:0 0 0 3px #7657ff12}.quick-map-details{border:1px solid var(--line);background:#757e8b0b;border-radius:21px;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);align-items:end;gap:18px;margin-top:17px;padding:18px;display:grid}.quick-map-details>div{color:#087b61;background:#13b8a617;border-radius:15px;align-items:center;gap:10px;min-height:48px;padding:10px 13px;display:flex}.quick-map-details>div>svg{flex:0 0 17px;width:17px}.quick-map-details>div>span{gap:2px;display:grid}.quick-map-details>div b{font-size:13px}.quick-map-details>div small{color:var(--muted);font-size:13px;line-height:1.35}.quick-installer-search{border:1px solid var(--line);min-height:48px;color:var(--muted);background:var(--panel-strong);border-radius:16px;align-items:center;gap:9px;margin-bottom:14px;padding:0 14px;display:flex}.quick-installer-search svg{width:17px}.quick-installer-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.quick-installer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-installer-grid>button{border:1px solid var(--line);min-width:0;min-height:68px;color:var(--ink);background:var(--panel-strong);cursor:pointer;text-align:left;border-radius:18px;grid-template-columns:48px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:9px 11px;display:grid}.quick-installer-grid>button>img{object-fit:cover;border-radius:14px;width:48px;height:48px}.quick-installer-grid>button>span{gap:4px;min-width:0;display:grid}.quick-document-list b,.quick-installer-grid>button b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.quick-document-list small,.quick-installer-grid>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.quick-installer-grid>button>i{width:32px;height:32px;color:var(--muted);background:#757e8b14;border-radius:11px;place-items:center;display:grid}.quick-installer-grid>button>i svg{width:15px}.quick-installer-grid>button.selected{background:#13b8a617;border-color:#13b8a673;box-shadow:inset 4px 0 #13b8a6}.quick-installer-grid>button.selected>i{color:#087b61;background:#13b8a626}.quick-installer-grid>button:disabled{cursor:not-allowed;opacity:.55}.quick-document-upload{color:#6848e5;cursor:pointer;background:#7657ff0e;border:1px dashed #6c74834d;border-radius:20px;align-items:center;gap:13px;min-height:88px;padding:16px 18px;display:flex;position:relative}.quick-document-upload>svg{width:24px}.quick-document-upload>span{gap:4px;display:grid}.quick-document-upload b{color:var(--ink);font-size:15px}.quick-document-upload small{color:var(--muted);font-size:13px}.quick-document-upload input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.quick-document-list{gap:7px;margin-top:10px;display:grid}.quick-document-list article{border:1px solid var(--line);background:var(--panel-strong);border-radius:15px;grid-template-columns:28px minmax(0,1fr) 34px;align-items:center;gap:9px;min-height:50px;padding:7px 10px;display:grid}.quick-document-list article>svg{color:#6848e5;width:17px}.quick-document-list article>span{gap:2px;min-width:0;display:grid}.quick-document-list article>button{color:#cc435d;cursor:pointer;background:#dd486214;border:0;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.quick-document-list article>button svg{width:14px}.quick-add-review{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.quick-add-review article{border:1px solid var(--line);background:var(--panel-strong);border-radius:18px;align-items:flex-start;gap:10px;min-width:0;min-height:100px;padding:13px;display:flex}.quick-add-review article>span{color:#6848e5;background:#7657ff1a;border-radius:11px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.quick-add-review article>span svg{width:15px}.quick-add-review article>p{gap:3px;min-width:0;margin:1px 0 0;display:grid}.quick-add-review em,.quick-add-review small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;overflow:hidden}.quick-add-review b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.quick-add-inline-note{color:var(--muted);background:#757e8b14;border-radius:15px;align-items:center;gap:8px;margin:13px 0 0;padding:11px 13px;font-size:13px;display:flex}.quick-add-inline-note svg{flex:0 0 16px;width:16px}.quick-add-inline-note.error{color:#b63852;background:#dd486217}.quick-add-error{flex:none;margin:8px 0 0}.quick-add-modal>footer{border-top:1px solid var(--line);flex:none;align-items:center;margin-top:16px;padding-top:15px}.quick-add-modal>footer>span{color:var(--muted);margin-inline:auto;font-size:13px}.quick-add-modal>footer .quick-add-continue svg{transform:rotate(180deg)}.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:13px;font-style:normal;font-weight:720;display:flex}.workspace-page-head em svg{width:15px}.detail-hero h1,.installer-profile-hero h1,.workspace-page-head 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:13px}.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:13px}.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:13px;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:13px;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 em,.ops-metrics p small{color:var(--muted);font-size:13px;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-row{grid-template-columns:minmax(0,1fr) 180px;align-items:stretch;gap:14px;margin-bottom:18px;display:grid}.overview-filter-row .overview-filter{min-width:0;margin-bottom:0}.dashboard-quick-add{color:#fff;cursor:pointer;text-align:left;background:linear-gradient(135deg,#242a34,#11151c);border:0;border-radius:23px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:72px;padding:10px 14px;display:grid;box-shadow:0 14px 34px #141a2433,inset 0 1px #ffffff21}.dashboard-quick-add>span{color:#171b23;background:#fff;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.dashboard-quick-add>span svg{width:19px}.dashboard-quick-add>p{gap:2px;min-width:0;margin:0;display:grid}.dashboard-quick-add b{font-size:15px}.dashboard-quick-add small{color:#ffffffa3;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.dashboard-quick-add>svg{width:16px}.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:13px}.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:13px}.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:13px;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:13px}.custom-date-range>span{color:var(--muted);font-size:13px}.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 em,.overview-metrics article small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:13px;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:13px;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:13px}.last-map-card>div:last-child>strong{color:#6244dc;align-items:center;gap:8px;margin-top:48px;font-size:13px;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,.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:13px}.period-projects>div>button>div small{color:var(--muted);font-size:13px}.period-projects>div>button>strong{color:var(--muted);align-items:center;gap:5px;font-size:13px;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:13px;line-height:1.5}[data-theme=dark] .period-projects>div>button,[data-theme=dark] .period-tabs{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:13px}.work-project-image>span small{font-size:13px}.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:13px;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:13px;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:13px;display:grid}.work-project-card footer span,.work-project-content>p span{align-items:center;gap:7px;display:flex}.work-project-card footer svg,.work-project-content>p 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:13px;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:13px;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:13px;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:13px;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:13px;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:13px;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 em,.calendar-month button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:calendar-expand .34s cubic-bezier(.22,.8,.25,1) both}.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:13px;font-weight:750}.expanded-calendar>header h2{letter-spacing:-1px;margin:4px 0 0;font-size:36px;font-weight:650}.expanded-calendar-add,.expanded-calendar-back{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:13px;font-weight:680;display:inline-flex;box-shadow:0 8px 20px #1c243012}.expanded-calendar-add svg,.expanded-calendar-back 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:13px;font-weight:720;transition:color .16s,background .16s,border-color .16s,transform .16s,box-shadow .16s;animation:calendar-bin-in .18s both;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:13px;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:13px}.expanded-day-cell>header b{background:var(--panel-strong);border-radius:10px;place-items:center;width:30px;height:30px;font-size:13px;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:13px;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:13px;font-weight:740}.calendar-user-item b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:13px;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-item-list,.day-project-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{margin:0 0 7px}.day-project-list p,.day-project-list small{color:var(--muted);font-size:13px}.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:13px;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:13px;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:13px}.project-calendar-page{margin-top:0}.project-calendar-toolbar{min-height:58px;align-items:center!important;margin-bottom:20px!important;padding:0 3px!important}.project-calendar-title{align-items:center;gap:13px;display:flex}.project-calendar-title>span{flex:0 0 48px;border-radius:16px!important;width:48px!important;height:48px!important}.project-calendar-title p{gap:2px;margin:0;display:grid}.project-calendar-title small{color:var(--muted);letter-spacing:1.2px;font-size:13px;font-weight:760}.project-calendar-title b{letter-spacing:-1px!important;font-size:34px!important;font-weight:620!important}.project-calendar-actions{align-items:center;gap:10px!important;display:flex!important}.calendar-view-switch{border:1px solid var(--line);background:var(--panel);border-radius:999px;gap:3px;padding:4px;display:flex;box-shadow:0 9px 24px #1b212c0f}.calendar-view-switch button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:0 15px;font-size:13px;font-weight:680;display:inline-flex}.calendar-view-switch button.active{color:var(--ink);background:var(--panel-strong);box-shadow:0 7px 16px #1b212c17}.calendar-view-switch svg{width:15px}.project-calendar-add{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:14px;font-weight:680;display:inline-flex;box-shadow:0 12px 27px #171b2329}.project-calendar-add svg{width:16px}.project-calendar-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.project-calendar-main{min-width:0}.project-calendar-main .calendar-board{grid-template-columns:repeat(2,minmax(0,1fr))}.project-calendar-page:has(.expanded-calendar) .calendar-todo-panel,.project-calendar-page:has(.expanded-calendar) .project-calendar-toolbar{display:none}.project-calendar-page:has(.expanded-calendar) .project-calendar-layout{display:block}.calendar-agenda{border-radius:27px;min-height:565px;padding:22px}.calendar-agenda>header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-agenda>header p{gap:3px;margin:0;display:grid}.calendar-agenda>header small{color:var(--muted);letter-spacing:1px;font-size:13px;font-weight:750}.calendar-agenda>header b{font-size:25px;font-weight:650}.calendar-agenda>header strong{width:38px;height:38px;color:var(--muted);background:var(--panel-strong);border-radius:50%;place-items:center;font-size:13px;display:grid}.calendar-agenda>div{gap:9px;display:grid}.calendar-agenda>div>button{border:1px solid var(--line);min-height:86px;color:var(--ink);text-align:left;background:#ffffff40;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:13px 15px;display:grid}.calendar-agenda>div>button.project{cursor:pointer;transition:transform .18s,background .18s}.calendar-agenda>div>button.project:hover{background:#ffffff80;transform:translateY(-2px)}.calendar-agenda>div>button:disabled{opacity:1}.calendar-agenda time{color:#fff;background:#171b23;border-radius:15px;place-content:center;justify-items:center;width:48px;height:52px;display:grid}.calendar-agenda time b{font-size:18px;line-height:1}.calendar-agenda time small{text-transform:uppercase;margin-top:3px;font-size:13px}.calendar-agenda button>span{gap:3px;min-width:0;display:grid}.calendar-agenda button>span em,.calendar-agenda button>span small{color:var(--muted);font-size:13px;font-style:normal}.calendar-agenda button>span b{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.calendar-agenda button>svg{width:17px;transform:rotate(180deg)}.calendar-agenda-empty{min-height:410px;color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.calendar-agenda-empty svg{opacity:.6;width:32px;margin-bottom:12px}.calendar-agenda-empty b{color:var(--ink);font-size:17px}.calendar-agenda-empty p{max-width:310px;margin:6px 0 0;font-size:13px;line-height:1.5}.calendar-todo-panel{border-radius:27px;min-height:565px;padding:20px;position:sticky;top:25px}.calendar-todo-panel>header{align-items:center;gap:11px;margin-bottom:16px;display:flex}.calendar-todo-panel>header>span{color:#087b61;background:#22b68c21;border-radius:14px;flex:0 0 43px;place-items:center;width:43px;height:43px;display:grid}.calendar-todo-panel>header svg{width:18px}.calendar-todo-panel>header p{flex:1;gap:2px;min-width:0;margin:0;display:grid}.calendar-todo-panel>header small{color:var(--muted);letter-spacing:.9px;font-size:13px;font-weight:750}.calendar-todo-panel>header b{font-size:22px;font-weight:650}.calendar-todo-panel>header strong{width:34px;height:34px;color:var(--muted);background:var(--panel-strong);border-radius:50%;place-items:center;font-size:13px;display:grid}.calendar-todo-panel>form{border:1px solid var(--line);background:var(--panel-strong);border-radius:17px;align-items:center;gap:8px;min-height:50px;margin-bottom:16px;padding:4px 4px 4px 14px;display:flex}.calendar-todo-panel>form:focus-within{border-color:#7657ff6b;box-shadow:0 0 0 4px #7657ff12}.calendar-todo-panel>form input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.calendar-todo-panel>form button{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:13px;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}.calendar-todo-panel>form button:disabled{opacity:.35;cursor:not-allowed}.calendar-todo-panel>form svg{width:16px}.calendar-todo-active{gap:8px;display:grid}.calendar-todo-active article,.calendar-todo-completed article{border:1px solid var(--line);background:#ffffff38;border-radius:16px;align-items:center;gap:10px;min-height:54px;padding:10px;display:flex}.calendar-todo-active article>button{color:#087b61;cursor:pointer;background:#22b68c17;border:1px solid #22b68c47;border-radius:11px;flex:0 0 32px;place-items:center;width:32px;height:32px;transition:color .17s,background .17s,transform .17s;display:grid}.calendar-todo-active article>button:hover{color:#fff;background:#20a878;transform:scale(1.05)}.calendar-todo-active article svg{width:14px}.calendar-todo-active article p,.calendar-todo-completed article p{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.4}.calendar-todo-empty{min-height:185px;color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.calendar-todo-empty>svg{opacity:.6;width:28px;margin-bottom:10px}.calendar-todo-empty b{color:var(--ink);font-size:16px}.calendar-todo-empty p{max-width:220px;margin:5px 0 0;font-size:13px;line-height:1.45}.calendar-todo-completed{border-top:1px solid var(--line);gap:8px;margin-top:19px;padding-top:17px;display:grid}.calendar-todo-completed>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px;display:flex}.calendar-todo-completed>header b{font-size:14px}.calendar-todo-completed>header small,.calendar-todo-completed>p{color:var(--muted);margin:0;font-size:13px}.calendar-todo-completed article{opacity:.67;min-height:48px}.calendar-todo-completed article>span{color:#087b61;background:#22b68c1c;border-radius:10px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.calendar-todo-completed article svg{width:13px}.calendar-todo-completed article p{text-decoration:line-through}[data-theme=dark] .calendar-agenda>div>button,[data-theme=dark] .calendar-todo-active article,[data-theme=dark] .calendar-todo-completed article{background:#ffffff0b}[data-theme=dark] .calendar-agenda>div>button.project:hover{background:#ffffff16}[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:13px;display:flex}.detail-hero>div:last-child span{align-items:center;gap:6px;display:flex}.detail-hero>div:last-child svg{width:15px}.project-header-grid{grid-template-columns:minmax(0,1.72fr) minmax(320px,.72fr);align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.project-header-grid .detail-hero{height:100%;margin-bottom:0}.project-information-panel{border-radius:30px;flex-direction:column;gap:18px;min-width:0;min-height:278px;padding:24px;display:flex}.project-information-panel>header{align-items:center;gap:12px;display:flex}.project-information-panel>header>span{color:#7657ff;background:#7657ff21;border-radius:15px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.project-information-panel>header svg{width:19px}.project-information-panel>header p{gap:3px;margin:0;display:grid}.project-information-panel label>span,.project-information-panel>header small{color:var(--muted);letter-spacing:.08em;font-size:13px;font-weight:760}.project-information-panel>header b{letter-spacing:-.5px;font-size:22px}.project-information-panel label{gap:8px;display:grid}.project-information-panel input,.project-information-panel textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;outline:0;font-size:15px;transition:border-color .18s,box-shadow .18s}.project-information-panel input{height:46px;padding:0 14px}.project-information-panel textarea{resize:vertical;min-height:82px;padding:13px 14px;line-height:1.45}.project-information-panel input:focus,.project-information-panel textarea:focus{border-color:#7657ff7a;box-shadow:0 0 0 4px #7657ff1a}.project-information-notes{flex:1}.save-project-information{color:#fff;cursor:pointer;background:#171b23;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 15px;font-size:14px;font-weight:720;display:inline-flex}.save-project-information svg{width:15px}.save-project-information:disabled{color:var(--muted);cursor:default;background:#757e8b1a}.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:13px;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:13px;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{align-items:stretch;gap:20px;margin-bottom:20px;display:grid}.project-map-overview-row,.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:13px}.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:13px;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-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:13px;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;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:13px;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:13px;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:13px;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:13px;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:13px;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-picker>button:not(.project-lead-picker-cancel)>span,.project-lead-profile>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:13px;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:13px}.project-lead-profile small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:13px}.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.selected,.project-lead-picker>button:hover{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:13px}.project-lead-picker>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:13px;font-weight:700}[data-theme=dark] .project-lead-picker>button,[data-theme=dark] .project-lead-profile{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:13px;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:13px;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:13px;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:13px}.completed-early-row small{color:var(--muted);font-size:13px;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)}.profile-grid,.project-detail-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:13px}.detail-panel>header strong{background:var(--panel-strong);border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;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:13px;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:13px}.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:13px}.installer-picker>div>button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:13px}.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:13px}.assignment-list article>button:last-child{color:#087b61;cursor:pointer;background:#22b68c1f;border:0;border-radius:999px;height:33px;padding:0 10px;font-size:13px;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:13px;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:13px}.assignment-empty small{font-size:13px}.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:13px;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:13px}.assignment-postcodes{z-index:18;overscroll-behavior:contain;color:var(--ink);opacity:0;visibility:hidden;pointer-events:none;-webkit-backdrop-filter:blur(26px)saturate(145%);cursor:default;scrollbar-width:thin;scrollbar-color:#7657ff59 transparent;background:#fbfaf8fa;border:1px solid #7657ff2e;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:36px;gap:7px;padding:16px;transition:opacity .16s,transform .16s,visibility 0s linear .16s;position:absolute;top:calc(100% - 2px);left:8px;right:8px;overflow-y:auto;transform:translateY(-5px);box-shadow:0 24px 58px #1b222f42,inset 0 1px #ffffffe6;display:grid!important}.assignment-postcodes:has(>small:nth-of-type(13)){height:328px}.assignment-postcodes.is-open,.assignment-postcodes:focus,.assignment-postcodes:focus-within,.assignment-profile:focus-visible .assignment-postcodes{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translateY(0)}.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:#fbfaf8f5;grid-column:1/-1;align-items:center;height:36px;padding:0 10px;font-size:13px;display:flex;position:sticky;top:0}.assignment-postcodes small{color:#544a77;text-align:center;cursor:pointer;background:#7657ff16;border:1px solid #7657ff14;border-radius:10px;place-items:center;min-height:36px;padding:8px 9px;font-size:13px;font-weight:650;transition:color .16s,border-color .16s,background .16s,transform .16s;display:grid}.assignment-postcodes small:focus-visible,.assignment-postcodes small:hover{color:#3d2d78;background:#7657ff29;border-color:#7657ff47;outline:none;transform:translateY(-1px)}.project-detail-grid>.detail-panel:first-child>header b{font-size:19px;line-height:1.15}.project-detail-grid>.detail-panel:first-child>header small{font-size:13px;line-height:1.45}.project-detail-grid>.detail-panel:first-child .assignment-head-actions>strong{font-size:13px}.project-detail-grid>.detail-panel:first-child .installer-picker{padding:14px}.project-detail-grid>.detail-panel:first-child .installer-picker>label{height:49px;padding-inline:15px}.project-detail-grid>.detail-panel:first-child .installer-picker>label svg{width:17px}.project-detail-grid>.detail-panel:first-child .installer-picker input{font-size:14px}.project-detail-grid>.detail-panel:first-child .installer-picker>div{gap:8px;max-height:300px}.project-detail-grid>.detail-panel:first-child .installer-picker>div>button{gap:11px;min-height:66px;padding:9px 11px}.project-detail-grid>.detail-panel:first-child .installer-picker>div>button img{width:44px;height:44px}.project-detail-grid>.detail-panel:first-child .installer-picker>div>button b{font-size:14px}.project-detail-grid>.detail-panel:first-child .installer-picker>div>button small{font-size:13px;line-height:1.35}.project-detail-grid>.detail-panel:first-child .installer-picker>div>p{font-size:13px}.project-detail-grid>.detail-panel:first-child .assignment-list{gap:10px}.project-detail-grid>.detail-panel:first-child .assignment-list article{gap:11px;min-height:78px;padding:11px}.project-detail-grid>.detail-panel:first-child .assignment-profile{gap:12px}.project-detail-grid>.detail-panel:first-child .assignment-profile img{width:48px;height:48px}.project-detail-grid>.detail-panel:first-child .assignment-profile span{gap:5px}.project-detail-grid>.detail-panel:first-child .assignment-profile b{font-size:16px}.project-detail-grid>.detail-panel:first-child .assignment-profile small{font-size:13px;line-height:1.35}.project-detail-grid>.detail-panel:first-child .assignment-empty b{font-size:15px}.project-detail-grid>.detail-panel:first-child .assignment-empty small{font-size:13px;line-height:1.4}.project-detail-grid>.detail-panel:first-child .assignment-postcodes b{font-size:14px}.project-detail-grid>.detail-panel:first-child .assignment-postcodes small{font-size:13px}[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}[data-theme=dark] .assignment-postcodes small:focus-visible,[data-theme=dark] .assignment-postcodes small:hover{color:#fff;background:#8b6fff47;border-color:#b5a4ff57}.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)}.pdf-drop b,.pdf-drop small{font-size:13px}.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:13px;overflow:hidden}.document-list article small{color:var(--muted);font-size:13px}.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:13px}.send-prep{background:#232a340f;border-radius:18px;align-items:center;gap:14px;min-height:82px;margin-top:15px;padding:16px;display:flex}.send-prep p{flex:1;gap:5px;margin:0;display:grid}.send-prep b{font-size:15px;line-height:1.25}.send-prep small{color:var(--muted);font-size:13px;line-height:1.4}.send-prep button,.send-prep>div{gap:6px;display:flex}.send-prep button{border:1px solid var(--line);height:40px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:999px;align-items:center;padding:0 13px;font-size:13px}.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-primary-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.database-add{white-space:nowrap;place-self:center end;min-width:132px;height:50px;padding-inline:15px}.database-actions{position:relative}.database-more{border:1px solid var(--line);width:50px;height:50px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:transform .18s,background .18s,box-shadow .18s;display:grid}.database-more:hover,.database-more[aria-expanded=true]{background:var(--panel-strong);transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.database-more:hover,.database-more[aria-expanded=true]{background:color-mix(in srgb,var(--panel-strong) 88%,#7657ff 12%)}}.database-more:hover,.database-more[aria-expanded=true]{box-shadow:0 14px 32px #1f263424}.database-more svg{color:currentColor;width:20px}.database-actions-menu{z-index:45;-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);background:#fcfaf7f5;border:1px solid #ffffffad;border-radius:22px;gap:4px;width:286px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 28px 70px #1d243138,inset 0 1px #ffffffdb}.database-actions-menu button{width:100%;min-height:64px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:15px;align-items:center;gap:12px;padding:10px 12px;transition:background .16s,transform .16s;display:flex}.database-actions-menu button:hover{background:#7657ff17;transform:translate(2px)}.database-actions-menu button:disabled{opacity:.55;cursor:wait}.database-actions-menu button>svg{color:#7657ff;flex:0 0 21px;width:21px}.database-actions-menu span{gap:3px;min-width:0;display:grid}.database-actions-menu b{font-size:13px;font-weight:720}.database-actions-menu small{color:var(--muted);font-size:13px;line-height:1.35}.database-csv-input{display:none}.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:13px}.locator button:disabled{opacity:.42}.form-error,.locator-error{color:#d84d68;margin:-16px 0 22px;font-size:13px}.installer-import-report{width:min(580px,100vw - 30px)}.installer-import-report>header p small{font-size:13px;line-height:1.45}.installer-import-issues{scrollbar-width:thin;scrollbar-color:#7657ff66 transparent;gap:7px;max-height:min(360px,45vh);margin-top:18px;padding-right:5px;display:grid;overflow-y:auto}.installer-import-issues article{background:#eb5d7b12;border:1px solid #de556c29;border-radius:17px;align-items:center;gap:11px;min-height:62px;padding:11px 13px;display:flex}.installer-import-issues article>span{color:#c94661;background:#eb5d7b1f;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:760;display:grid}.installer-import-issues p{gap:3px;margin:0;display:grid}.installer-import-issues b{font-size:13px}.installer-import-issues small{color:var(--muted);font-size:13px;line-height:1.35}.copy-import-issues{border:1px solid var(--line);width:100%;min-height:45px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:14px;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:680;display:flex}.copy-import-issues.copied{color:#07856f;background:#13b8a61a}.copy-import-issues svg{width:17px}.installer-import-success{color:#07856f;background:#13b8a614;border:1px solid #13b8a633;border-radius:20px;justify-content:center;align-items:center;gap:10px;min-height:100px;margin-top:18px;font-size:13px;display:flex}.installer-import-success svg{width:21px}.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:13px;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:13px}.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:13px;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:13px;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:focus-visible,.team-card:hover{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,.team-leader{align-items:center;display:flex}.team-leader{min-width:0;color:var(--ink);gap:16px}.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:team-tree-enter .38s cubic-bezier(.2,.8,.2,1)}@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:13px;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:13px;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:13px}.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:13px;font-weight:720}.team-node-credentials b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;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:13px}[data-theme=dark] .team-node-profile small,[data-theme=dark] .team-tree-heading 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:13px;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:13px;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 em,.prospecting-summary small{color:var(--muted);font-size:13px;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:13px;display:flex}.quote-status-tabs button span{min-width:23px;color:inherit;background:#6d75841a;border-radius:999px;padding:4px 6px;font-size:13px}.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:13px;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 p,.quote-row>div small{color:var(--muted);font-size:13px}.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:13px;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 a,.potential-client-card p{overflow-wrap:anywhere;color:var(--muted);align-items:center;gap:8px;margin:0;font-size:13px;text-decoration:none;display:flex}.potential-client-card a svg,.potential-client-card p 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:13px;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}.quote-builder-page{min-width:0}.quote-builder-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:24px;display:grid}.quote-builder-head>.page-back{grid-column:1/-1;justify-self:start}.quote-builder-head>div:first-of-type em{color:#6b4be2;letter-spacing:1.4px;align-items:center;gap:8px;font-size:13px;font-style:normal;font-weight:780;display:inline-flex}.quote-builder-head>div:first-of-type em svg{width:15px}.quote-builder-head h1{letter-spacing:-2.4px;margin:7px 0 5px;font-size:clamp(36px,4vw,56px);font-weight:520;line-height:.98}.quote-builder-head p{color:var(--muted);margin:0;font-size:14px}.quote-builder-head>div:last-child{justify-content:flex-end;align-items:center;gap:8px;display:flex}.quote-builder-head>div:last-child button{min-height:44px;font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 15px;font-size:13px;display:inline-flex}.quote-builder-head>div:last-child button svg{width:15px}.quote-builder-head>div:last-child button:disabled{opacity:.42;cursor:default}.quote-preview-download{border:1px solid var(--line);color:var(--ink);background:var(--panel-strong)}.quote-builder-layout{grid-template-columns:minmax(500px,.92fr) minmax(460px,1.08fr);align-items:start;gap:20px;display:grid}.quote-builder-fields{gap:14px;min-width:0;display:grid}.quote-builder-fields>section{border-radius:27px;padding:22px}.quote-builder-fields>section>header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.quote-builder-fields>section>header>span{color:#6544de;background:#7657ff1c;border-radius:13px;flex:0 0 37px;place-items:center;width:37px;height:37px;font-size:13px;font-weight:780;display:grid}.quote-builder-fields>section>header div{min-width:0}.quote-builder-fields>section>header h2{margin:0 0 3px;font-size:18px;font-weight:590}.quote-builder-fields>section>header p{color:var(--muted);margin:0;font-size:13px}.quote-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.quote-field-grid label,.quote-vat-row label{min-width:0;color:var(--muted);letter-spacing:.45px;gap:7px;font-size:13px;font-weight:720;display:grid}.quote-field-grid label>span{align-items:center;gap:4px;min-height:18px;display:flex}.quote-detail-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-field-grid label.full{grid-column:1/-1}.quote-field-grid label i{color:#ea536d;font-style:normal}.quote-field-grid input,.quote-field-grid textarea,.quote-line-editor input,.quote-vat-row input{border:1px solid var(--line);width:100%;min-height:47px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:15px;outline:0;padding:11px 13px;font-size:14px;transition:border-color .18s,box-shadow .18s}.quote-field-grid textarea{resize:vertical;min-height:88px;line-height:1.5}.quote-field-grid input:focus,.quote-field-grid textarea:focus,.quote-line-editor input:focus,.quote-vat-row input:focus{border-color:#7657ff8c;box-shadow:0 0 0 4px #7657ff17}.quote-field-grid .glass-select>button{background:var(--panel-strong);border-radius:15px;min-height:47px}.quote-items-editor>header>button{color:#5e3bd4;cursor:pointer;min-height:37px;font:inherit;background:#7657ff1c;border:0;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:13px;font-weight:680;display:inline-flex}.quote-items-editor>header>button svg{width:14px}.quote-line-editor,.quote-line-head{grid-template-columns:minmax(170px,1fr) 64px 108px 118px 32px;align-items:center;gap:8px;display:grid}.quote-line-head{color:var(--muted);padding:0 6px 8px;font-size:13px}.quote-line-editor{margin-bottom:8px}.quote-line-editor input{border-radius:13px;min-width:0;min-height:43px;padding:9px 10px}.quote-line-amount{text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:5px;font-size:14px;font-weight:650;overflow:hidden}.quote-line-editor>button{color:#d74460;cursor:pointer;background:#eb5d7b1a;border:0;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:grid}.quote-line-editor>button svg{width:14px}.quote-vat-row{border-top:1px solid var(--line);justify-content:flex-end;align-items:end;gap:18px;margin-top:15px;padding-top:16px;display:flex}.quote-vat-row label{width:150px}.quote-vat-row p{justify-items:end;gap:2px;margin:0;display:grid}.quote-vat-row p span{color:var(--muted);font-size:13px}.quote-vat-row p strong{font-size:25px;font-weight:580}.quote-option-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.quote-option-grid>label{border:1px solid var(--line);cursor:pointer;background:#ffffff2e;border-radius:18px;align-items:flex-start;gap:10px;min-height:92px;padding:14px;transition:border-color .18s,background .18s,opacity .18s;display:flex}.quote-option-grid>label.active{background:#20a87814;border-color:#20a87861}.quote-option-grid>label.disabled{opacity:.48;cursor:not-allowed}.quote-option-grid input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.quote-option-grid>label>span{border:1px solid var(--line);color:#0000;background:var(--panel-strong);border-radius:8px;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}.quote-option-grid>label.active>span{color:#fff;background:#20a878;border-color:#20a878}.quote-option-grid>label>span svg{width:14px}.quote-option-grid p{gap:4px;min-width:0;margin:0;display:grid}.quote-option-grid b{font-size:14px;font-weight:660}.quote-option-grid small{color:var(--muted);font-size:13px;line-height:1.35}.quote-option-fields{border-top:1px solid var(--line);margin-top:17px;padding-top:17px}.quote-preview-panel{border-radius:30px;min-width:0;padding:16px;position:sticky;top:20px}.quote-preview-panel>header{color:var(--muted);justify-content:space-between;align-items:center;padding:3px 3px 14px;font-size:13px;display:flex}.quote-preview-panel>header span{color:var(--ink);align-items:center;gap:7px;font-weight:690;display:inline-flex}.quote-preview-panel>header svg{width:15px}.quote-preview-paper{aspect-ratio:210/297;color:#1a2130;background:#fff;border-radius:18px;min-height:700px;padding:0 42px 36px;overflow:hidden;box-shadow:0 20px 56px #1a212c2e}.quote-preview-paper>header{color:#fff;background:#151b27;justify-content:space-between;align-items:center;height:112px;margin:0 -42px 35px;padding:0 42px;display:flex}.quote-preview-paper>header>b{color:#ff004e;letter-spacing:-1.2px;font-size:28px}.quote-preview-paper>header>span{justify-items:end;gap:5px;display:grid}.quote-preview-paper>header strong{letter-spacing:1.2px;font-size:20px}.quote-preview-paper>header small{color:#ffffffad;font-size:13px}.quote-preview-meta{grid-template-columns:1fr auto;gap:24px;min-height:105px;display:grid}.quote-preview-meta small,.quote-preview-paper footer small,.quote-preview-title small{color:#7b8392;letter-spacing:1.1px;font-size:13px;font-weight:760}.quote-preview-meta h3{margin:7px 0 5px;font-size:19px}.quote-preview-meta section:first-child p{color:#667080;gap:2px;margin:0;font-size:13px;line-height:1.45;display:grid}.quote-preview-meta section:last-child{gap:22px;display:flex}.quote-preview-meta section:last-child p{align-content:start;gap:6px;margin:0;display:grid}.quote-preview-meta section:last-child b{font-size:13px}.quote-preview-title{margin-bottom:22px}.quote-preview-title h2{letter-spacing:-.7px;margin:0 0 8px;font-size:23px}.quote-preview-title p{color:#697282;margin:0;font-size:13px;line-height:1.5}.quote-preview-table>div,.quote-preview-table>header{grid-template-columns:minmax(0,1fr) 45px 54px 93px;align-items:start;gap:9px;display:grid}.quote-preview-table>header{color:#626b78;background:#f0f2f6;padding:10px 12px;font-size:13px;font-weight:760}.quote-preview-table>div b,.quote-preview-table>header span:last-child{text-align:right}.quote-preview-table>div{border-bottom:1px solid #e7e9ee;min-height:44px;padding:13px 12px;font-size:13px}.quote-preview-table>div span:first-child{line-height:1.4}.quote-preview-totals{width:225px;margin:22px 0 30px auto}.quote-preview-totals p{color:#667080;justify-content:space-between;align-items:center;margin:0;padding:5px 0;font-size:13px;display:flex}.quote-preview-totals p:last-child{color:#1a2130;border-top:1px solid #dfe2e8;margin-top:4px;padding-top:11px;font-size:13px}.quote-preview-totals strong{font-size:20px}.quote-preview-paper>footer{color:#697282;border-top:1px solid #e2e5ea;grid-template-columns:1fr 1fr;gap:22px;margin-top:auto;padding-top:22px;font-size:13px;line-height:1.45;display:grid}.quote-preview-paper>footer section p{white-space:pre-wrap;margin:5px 0 0}.quote-preview-paper>footer .quote-vat-disclaimer{color:#697282;grid-column:1/-1;margin:0;font-weight:400}.quote-preview-paper>footer>div{flex-wrap:wrap;grid-column:1/-1;gap:5px 14px;display:flex}.quote-preview-paper>footer>div b{color:#1a2130}.quote-preview-paper>header>img{object-fit:contain;width:auto;max-width:150px;height:auto;max-height:58px}.quote-settings-page{min-width:0}.quote-settings-head .page-count{color:#188b74;align-items:center;gap:8px;display:inline-flex}.quote-settings-head .page-count svg{width:16px}.quote-settings-layout{grid-template-columns:minmax(520px,1.05fr) minmax(400px,.95fr);align-items:start;gap:20px;display:grid}.quote-settings-fields{gap:16px;display:grid}.quote-settings-card{border-radius:30px;padding:25px}.quote-settings-card>header{align-items:center;gap:13px;margin-bottom:22px;display:flex}.quote-settings-card>header>span{color:#6a4be0;background:#7657ff1f;border-radius:16px;flex:0 0 45px;place-items:center;width:45px;height:45px;display:grid}.quote-settings-card>header svg{width:19px}.quote-settings-card>header div{min-width:0}.quote-settings-card>header h2{margin:0 0 3px;font-size:20px;font-weight:620}.quote-settings-card>header p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.quote-logo-control{gap:15px;display:grid}.quote-logo-current,.quote-logo-empty{border:1px solid var(--line);background:#fff3;border-radius:22px;align-items:center;gap:16px;min-height:105px;padding:18px;display:flex}.quote-logo-current img{object-fit:contain;background:#fff;border-radius:13px;width:150px;height:68px}.quote-logo-empty>svg{width:48px;height:48px;color:var(--muted);background:#6f778717;border-radius:15px;padding:13px}.quote-logo-current div,.quote-logo-empty div{gap:4px;min-width:0;display:grid}.quote-logo-current b,.quote-logo-empty b{font-size:16px}.quote-logo-current small,.quote-logo-empty small{color:var(--muted);font-size:13px;line-height:1.4}.quote-logo-actions{align-items:center;gap:9px;display:flex}.quote-colour-reset,.quote-logo-actions button,.quote-logo-actions label{border:1px solid var(--line);min-height:44px;font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;display:inline-flex}.quote-logo-actions label input{display:none}.quote-colour-reset svg,.quote-logo-actions svg{width:16px}.quote-settings-error{color:#d9485f;align-items:center;gap:7px;margin:0;font-size:14px;display:flex}.quote-settings-error svg{width:16px}.quote-settings-form{grid-template-columns:1fr 1fr;gap:15px;display:grid}.quote-settings-form label{color:var(--muted);letter-spacing:.65px;gap:8px;font-size:13px;font-weight:730;display:grid}.quote-settings-form label.full{grid-column:1/-1}.quote-settings-form input,.quote-settings-form textarea{border:1px solid var(--line);width:100%;min-height:49px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;outline:none;padding:0 15px;font-size:15px}.quote-settings-form textarea{resize:vertical;min-height:112px;padding-top:14px;line-height:1.5}.quote-settings-form input:focus,.quote-settings-form textarea:focus{border-color:#7657ff85;box-shadow:0 0 0 4px #7657ff17}.quote-colour-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.quote-colour-grid>label{border:1px solid var(--line);background:#ffffff2e;border-radius:20px;gap:11px;padding:15px;display:grid}.quote-colour-grid>label>span{color:var(--muted);letter-spacing:.65px;font-size:13px;font-weight:730}.quote-colour-grid>label>div{align-items:center;gap:12px;display:flex}.quote-colour-grid input{border:1px solid var(--line);background:var(--panel-strong);cursor:pointer;border-radius:15px;width:52px;height:52px;padding:3px}.quote-colour-grid b{letter-spacing:.5px;font-size:15px}.quote-colour-reset{color:var(--ink);background:var(--panel-strong);margin-top:14px}.quote-settings-preview{border-radius:31px;padding:16px;position:sticky;top:20px}.quote-settings-preview>header{color:var(--muted);justify-content:space-between;align-items:center;padding:4px 4px 15px;font-size:13px;display:flex}.quote-settings-preview>header span{color:var(--ink);align-items:center;gap:7px;font-weight:690;display:inline-flex}.quote-settings-preview>header svg{width:16px}.quote-settings-sheet{aspect-ratio:210/260;color:#1b2230;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 24px 62px #1b222f29}.quote-settings-sheet-head{color:#fff;justify-content:space-between;align-items:center;min-height:118px;padding:27px 32px;display:flex}.quote-settings-sheet-head>img{object-fit:contain;width:auto;max-width:150px;height:auto;max-height:58px}.quote-settings-sheet-head>b{letter-spacing:-1.3px;font-size:29px}.quote-settings-sheet-head>span{justify-items:end;gap:5px;display:grid}.quote-settings-sheet-head strong{letter-spacing:1.2px;font-size:18px}.quote-settings-sheet-head small{color:#ffffffb8;font-size:13px}.quote-settings-sheet-body{padding:31px}.quote-settings-sheet-body>small{color:#7c8493;letter-spacing:1px;font-size:13px;font-weight:760}.quote-settings-sheet-body h3{margin:7px 0 25px;font-size:22px}.quote-settings-preview-lines{gap:11px;display:grid}.quote-settings-preview-lines i{background:#eceff3;border-radius:999px;height:10px}.quote-settings-preview-lines i:nth-child(2){width:87%}.quote-settings-preview-lines i:nth-child(3){width:68%}.quote-settings-sheet-body>section{background:#f3f5f8;border-radius:16px;margin:35px 0 38px;padding:20px}.quote-settings-sheet-body>section div{justify-content:space-between;align-items:center;display:flex}.quote-settings-sheet-body>section small{color:#737c8b;font-size:13px;font-weight:740}.quote-settings-sheet-body>section b{font-size:21px}.quote-settings-sheet-body footer{color:#697282;white-space:pre-line;border-top:1px solid #e1e5eb;gap:5px;padding-top:21px;font-size:13px;display:grid}.quote-settings-sheet-body footer b{color:#1b2230;font-size:15px}.quote-settings-preview>p{color:var(--muted);align-items:flex-start;gap:8px;margin:14px 5px 2px;font-size:13px;line-height:1.45;display:flex}.quote-settings-preview>p svg{color:#15977e;flex:0 0 16px;width:16px}[data-theme=dark] .quote-colour-grid>label,[data-theme=dark] .quote-logo-current,[data-theme=dark] .quote-logo-empty{background:#ffffff0b}.quote-status-tabs.three{grid-template-columns:repeat(3,1fr)}.quote-tracker-list .quote-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.quote-row-status{background:#6e768514;border-radius:999px;padding:4px;display:flex}.quote-row-status button{min-height:33px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;padding:0 11px;font-size:13px}.quote-row-status button.active.draft{color:#8d5d13;background:#f3a62f29}.quote-row-status button.active.sent{color:#087b61;background:#13b8a624}.quote-row-actions{gap:6px;display:flex}.quote-row-actions>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-actions>button svg{width:14px}.quote-tracker-list .empty-state>button{margin:14px auto 0}[data-theme=dark] .quote-tools>.glass-select>button{background:#fff1}[data-theme=dark] .quote-builder-head>div:first-of-type em{color:#c7bcff}[data-theme=dark] .quote-builder-fields>section>header>span{color:#d3c9ff;background:#7657ff2b}[data-theme=dark] .quote-option-grid>label{background:#ffffff0b}[data-theme=dark] .quote-option-grid>label.active{background:#20a8781f}[data-theme=dark] .potential-client-card>small{color:#c7bcff}.client-directory-tools{align-items:center;gap:14px;margin-bottom:22px;display:flex}.client-directory-tools>label{border:1px solid var(--line);background:var(--panel-strong);border-radius:999px;align-items:center;gap:10px;width:min(520px,100%);min-height:52px;padding:0 15px;display:flex;box-shadow:0 12px 30px #21283512,inset 0 1px #ffffffb8}.client-directory-tools>label>svg{width:18px;color:var(--muted);flex:0 0 18px}.client-directory-tools input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.client-directory-tools input::placeholder{color:var(--muted)}.client-directory-tools label button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#7657ff14;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.client-directory-tools label button svg{width:14px}.client-directory-tools>span{color:var(--muted);white-space:nowrap;font-size:13px}.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:focus-visible,.client-card:hover{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:13px}.client-card h2{margin:28px 0 8px;font-size:24px;line-height:1.05}.client-card a,.client-card>p{color:var(--muted);align-items:center;gap:7px;font-size:13px;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:13px}.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:13px;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:13px;display:inline-flex;box-shadow:0 11px 26px #191f2a29}.add-client-button svg{width:15px}.client-search-empty{margin-top:22px}.client-search-empty>button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:999px;margin-top:7px;padding:0 15px;font-size:13px}.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:13px;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:13px;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:13px}.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:13px;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:13px;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:13px}.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:13px}.add-contact-form>button,.client-contacts-panel>header>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:13px;display:inline-flex}.add-contact-form>button svg,.client-contacts-panel>header>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:13px;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:13px}.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:13px;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:13px}.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:13px;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:13px;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:13px;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:13px}.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:13px}.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:13px;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:13px;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:13px}.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 em,.account-metrics p small{color:var(--muted);font-size:13px;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:13px}.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:13px;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:account-expand .22s;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-map-view,.account-role,.account-status{gap:6px;display:grid}.account-login small,.account-map-view small,.account-role small,.account-status small{color:var(--muted);letter-spacing:.8px;font-size:13px;font-weight:740}.account-login input,.account-map-view select,.account-role select,.account-status 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-map-view .glass-select>button,.account-role .glass-select>button,.account-status .glass-select>button{border-radius:14px;height:47px;min-height:47px;font-size:13px}.account-map-view .glass-select-menu,.account-role .glass-select-menu,.account-status .glass-select-menu{min-width:180px}.account-login input:focus,.account-map-view select:focus,.account-role select:focus,.account-status 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:13px;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:undo-enter .18s}.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:13px;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:13px;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:13px;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:13px;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:13px}.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:13px}.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:13px}.portal-editor-action,.portal-preview-banner>span{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:13px;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:13px}.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:13px;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:13px;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:13px;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:13px}.portal-hidden-module small{font-size:13px}.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:13px}.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:13px}.portal-project-list>article>div small,.portal-project-list>article>strong{color:var(--muted);font-size:13px}.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:13px;display:inline-flex}.portal-access-summary span.visible{color:#087b61;opacity:1;background:#13b8a61a}.portal-access-summary svg{width:12px}[data-theme=dark] .add-contact-form input,[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{background:#ffffff0e}[data-theme=dark] .account-visibility,[data-theme=dark] .add-contact-form,[data-theme=dark] .client-account-row,[data-theme=dark] .client-logo-upload,[data-theme=dark] .client-profile-copy>div>span,[data-theme=dark] .company-contact-card,[data-theme=dark] .portal-map-variant,[data-theme=dark] .portal-preview-metrics article{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-footer,.dash-nav>nav{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:13px}.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:nav-column-in .2s ease-out;display:flex;position:absolute;left:244px;box-shadow:-14px 0 34px #232a3412}.nav-flyout,.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:13px;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:13px}.nav-flyout>button small{color:var(--muted);font-size:13px}.nav-flyout>button.active,.nav-flyout>button:hover{background:#ffffffb3;border-color:#ffffffb3;box-shadow:0 8px 22px #1e263214}.nav-flyout>.flyout-divider{background:var(--line);flex:0 0 1px;height:1px;margin:10px 7px}[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.active,[data-theme=dark] .nav-flyout>button:hover,[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:13px}.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:13px;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:13px;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:10px;margin-top:19px;display:flex}.installer-contact-cards article{border:1px solid var(--line);background:var(--panel-strong);border-radius:18px;align-items:center;gap:6px;width:min(100%,310px);min-width:240px;height:58px;padding:8px 8px 8px 13px;display:flex;box-shadow:0 8px 22px #1a212c0f}.installer-contact-cards a{min-width:0;color:var(--ink);background:0 0;flex:1;align-items:center;gap:10px;padding:0;text-decoration:none;display:flex}.installer-contact-cards a>svg{flex:0 0 17px;width:17px}.installer-contact-cards a span{gap:2px;min-width:0;display:grid}.installer-contact-cards a small{color:var(--muted);letter-spacing:.7px;text-transform:uppercase;font-size:13px;font-weight:730}.installer-contact-cards a b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.installer-contact-cards button,.installer-fact-card>button{width:32px;height:32px;min-height:0;color:var(--muted);opacity:.62;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 32px;place-items:center;padding:0;transition:opacity .16s,color .16s,background .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:14px}.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:74px;color:var(--ink);background:var(--panel-strong);text-align:left;border:0;border-radius:17px;align-items:center;gap:10px;padding:12px;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:13px;font-weight:740}.installer-profile-facts b{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:13px;font-weight:650;line-height:1.3}.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 b,.installer-storage-card small{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>footer,.edit-installer-modal>header{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:13px}.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:13px;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:13px;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:13px}.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:13px}.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:13px}.team-member-picker button small{color:#ffffffad;font-size:13px}.team-member-picker button>svg{width:13px}.team-member-picker>div>p{color:#ffffffb8;grid-column:1/-1;margin:8px;font-size:13px}.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:13px}.installer-team-members article small{color:#ffffffad;font-size:13px}.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:13px}.team-panel-empty small{font-size:13px}.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:13px;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:13px;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:13px}.unavailable-summary small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;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:13px;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:13px}.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:13px;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:13px;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:13px;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-scheduler,[data-theme=dark] .unavailable-summary{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:13px;overflow:hidden}.installer-project-list .work-status{width:max-content;min-height:20px;padding:0 7px;font-size:13px}.installer-project-list article>strong{color:var(--muted);white-space:nowrap;font-size:13px;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:13px}.installer-project-empty small{font-size:13px}[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:13px;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:13px}.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:13px}.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:13px;display:flex}.installer-map-search label button svg{width:12px}.map-search-error{color:#d84d68;margin:8px 5px 0;font-size:13px;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:13px}.radius-summary small{color:var(--muted);font-size:13px}.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:13px}.nearby-installer-list small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;overflow:hidden}.nearby-installer-list strong{color:#0b8c78;white-space:nowrap;font-size:13px}.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] .installer-map-search label button,[data-theme=dark] .locator button{color:#171b23;background:#ffffffeb}[data-theme=dark] .database-actions-menu{background:#1c212ff7;border-color:#ffffff1f;box-shadow:0 28px 70px #0000005c,inset 0 1px #ffffff14}[data-theme=dark] .database-actions-menu button:hover{background:#8971ff26}[data-theme=dark] .installer-import-issues article{background:#eb5d7b1a}[data-theme=dark] .installer-import-success{color:#7ce4c5}@media (max-width:1400px){.quote-builder-layout{grid-template-columns:1fr}.quote-preview-panel{width:min(720px,100%);margin:0 auto;position:static}.quote-settings-layout{grid-template-columns:1fr}.quote-settings-preview{width:min(700px,100%);margin:0 auto;position:static}}@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))}.team-tree-members,.teams-grid{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}.add-contact-form,.client-grid,.company-contact-grid,.potential-client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-account-layout,.documentation-grid{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))}.profile-grid,.project-detail-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}.quote-builder-head{grid-template-columns:1fr;align-items:start}.quote-builder-head>div:last-child{flex-wrap:wrap;justify-content:flex-start}.quote-detail-fields,.quote-option-grid{grid-template-columns:1fr}.quote-tracker-list .quote-row{grid-template-columns:auto minmax(0,1fr) auto}.quote-tracker-list .quote-row>strong{justify-self:end}.quote-row-status{grid-column:2;justify-self:start}.quote-row-actions{grid-column:3}.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,.quick-add-review{grid-template-columns:repeat(2,minmax(0,1fr))}.database-summary{flex-direction:column}.database-primary-actions{justify-content:flex-end}.database-add{align-self:flex-end}.installer-profile-hero{flex-wrap:wrap}.installer-profile-facts{width:100%;margin-left:0}.project-header-grid,.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 .nav-map-group,.dash-nav nav>button{flex:none}.dash-nav nav .nav-map-group>button span,.dash-nav nav>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}.quote-settings-card{padding:19px}.quote-colour-grid,.quote-settings-form{grid-template-columns:1fr}.quote-line-head{display:none}.quote-line-editor{border:1px solid var(--line);border-radius:17px;grid-template-columns:1fr 1fr 32px;padding:12px}.quote-line-editor>input:first-child{grid-column:1/-1}.quote-line-amount{text-align:left}.quote-settings-form label.full{grid-column:auto}.quote-logo-current,.quote-logo-empty{flex-direction:column;align-items:flex-start}.quote-logo-actions{flex-direction:column;align-items:stretch}.quote-logo-actions button,.quote-logo-actions label{width:100%}.detail-hero,.installer-profile-hero,.workspace-page-head{flex-direction:column;align-items:flex-start}.workspace-page-head h1{font-size:44px}.operations-tools>div{max-width:100%;overflow-x:auto}.database-tools,.installer-grid,.profile-grid,.project-detail-grid,.work-project-grid{grid-template-columns:1fr}.database-primary-actions{width:100%}.database-add{flex:1;justify-content:center}.database-actions-menu{width:min(286px,100vw - 36px);right:0}.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}.installer-team-members,.team-member-picker>div{grid-template-columns:1fr}.installer-team-members.is-scrollable{max-height:430px}.client-directory-tools{flex-direction:column;align-items:stretch;gap:8px}.client-directory-tools>label{width:100%}.client-directory-tools>span{padding-left:12px}.client-grid,.potential-client-grid,.prospecting-summary{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-field-grid{grid-template-columns:1fr}.quote-field-grid label.full{grid-column:1}.quote-builder-fields>section{padding:18px}.quote-items-editor{overflow-x:auto}.quote-items-editor>header,.quote-line-editor,.quote-line-head,.quote-vat-row{min-width:520px}.quote-preview-panel{border-radius:22px;padding:9px;overflow-x:auto}.quote-preview-paper{width:620px;min-height:877px}.quote-row,.quote-tracker-list .quote-row{grid-template-columns:auto minmax(0,1fr) auto}.quote-tracker-list .quote-row>strong{grid-column:2;justify-self:start}.quote-tracker-list .quote-row-status{grid-column:2}.quote-tracker-list .quote-row-actions{flex-direction:column;grid-area:1/3/span 3;align-self:center}.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-row-actions,.account-visibility{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-map-variant,.portal-preview-metrics{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-row{grid-template-columns:1fr}.dashboard-quick-add{min-height:66px}.quick-add-wrap{padding:8px}.quick-add-modal{border-radius:25px;width:calc(100vw - 16px);height:calc(100vh - 16px);padding:18px}.quick-add-steps button{grid-template-columns:32px 1fr;min-height:48px}.quick-add-steps button>span{width:32px;height:32px}.quick-add-steps button b,.quick-add-steps button small{display:none}.quick-add-form-grid,.quick-add-review,.quick-installer-grid,.quick-map-details,.quick-map-options{grid-template-columns:1fr}.quick-add-form-grid label.full{grid-column:1}.quick-map-options>button{min-height:90px}.quick-add-modal>footer button{padding-inline:13px}.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,.calendar-board,.company-contact-grid{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-compliance-panel,.installer-profile-grid .installer-control-panel,.installer-profile-grid .installer-history-panel,.installer-profile-grid .installer-upcoming-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}}.account-expand-toggle,.account-password-actions button,.account-permissions button,.account-row-actions button,.add-client-button,.add-contact-form>button,.calendar-project-entry,.client-contacts-panel>header>button,.connect-map-empty button,.connect-map-tabs button,.connect-step-head button,.cover-photo-upload,.create-work-project,.custom-colour-picker footer button,.edit-client-button,.edit-project-button,.existing-map-picker>.primary,.group-intro button,.head-actions button,.helper button,.installer-availability-control button,.installer-map-search label button,.locator button,.modal footer button,.overlay-row button,.period-tabs button,.project-map-connection>button.primary,.quote-status-tabs button,.save-project-notes,.selection-actions button,.selection-note-editor button,.send-prep button,.template-actions button,.toolbar button span,.unavailable-scheduler>div button{font-size:13px}.project-connected-preview>span{min-height:34px;padding-inline:12px;font-size:13px}.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,#f5f0ea 48%,#eef2f5);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:13px}.portal-staff-bar>label{gap:3px;width:min(290px,24vw);display:grid}.portal-staff-bar>label>small{color:#ffffff73;letter-spacing:1px;font-size:13px;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;min-height:34px;padding:0 11px;font-size:13px}.portal-staff-bar>button,.portal-staff-mode{border:1px solid #ffffff1f;border-radius:999px;align-items:center;display:inline-flex}.portal-staff-bar>button{color:#fff;cursor:pointer;min-height:40px;font:inherit;background:#ffffff12;gap:7px;padding:0 13px;font-size:13px}.portal-staff-bar>button:first-of-type{margin-left:auto}.portal-staff-bar>button.active,.portal-staff-bar>button:hover{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:13px}.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:13px;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:13px;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:13px;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-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:13px;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:13px;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;overflow:hidden}.portal-nav-account small{color:var(--portal-muted)}.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;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:13px;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:13px;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:13px;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,#283353 48%,#5543a0);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:13px;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:13px}.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:13px}.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:13px;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:13px}.portal-overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);align-items:stretch;gap:14px;margin-top:16px;display:grid}.portal-contacts-page,.portal-documents-page,.portal-focus-project,.portal-live-map,.portal-project-detail,.portal-project-directory,.portal-updates-card{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:13px;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:13px;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-detail-dates small,.portal-focus-dates small{color:var(--portal-muted);letter-spacing:.7px;font-size:13px;font-weight:760}.portal-project-progress{gap:6px;margin-top:16px;display:grid}.portal-live-map>footer>span,.portal-project-directory button>div>span,.portal-project-progress>span{background:#636f801f;border-radius:999px;height:5px;overflow:hidden}.portal-live-map>footer>span i,.portal-project-directory button>div>span i,.portal-project-progress i{border-radius:inherit;background:linear-gradient(90deg,#7657ff,#13b8a6);height:100%;display:block}.portal-project-progress small{color:var(--portal-muted);font-size:13px}.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:13px}.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-detail-map>span,.portal-focus-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:13px;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px;box-shadow:0 8px 24px #202b3826}.portal-detail-map>span svg,.portal-focus-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:13px}.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:13px;overflow:hidden}.portal-updates-card article small{color:var(--portal-muted);font-size:13px}.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;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:13px;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:13px;font-weight:760}.portal-lead-strip>div p{color:var(--portal-muted);margin:0;font-size:13px}.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;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:13px;font-weight:750}.portal-project-directory>header b{font-size:16px}.portal-project-directory>header>span{color:var(--portal-muted)}.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:13px}.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:13px;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:13px}.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:13px;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:13px}.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:13px;font-weight:750}.portal-shared-note p{color:var(--portal-ink);margin:0;font-size:13px;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:13px;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:13px}.portal-map-page>aside>button strong{font-size:13px}.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:13px;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:13px}.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:13px;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:13px;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:13px;font-weight:750}.portal-live-map>footer b{font-size:20px}.portal-live-map>footer>span{height:7px}.portal-contacts-page,.portal-documents-page{padding:25px}.portal-contacts-page>header,.portal-documents-page>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.portal-contacts-page>header,.portal-documents-page>header>div{gap:5px;display:grid}.portal-contacts-page>header>small,.portal-documents-page>header small{color:#6847f5;letter-spacing:1px;font-size:13px;font-weight:760}.portal-contacts-page h2,.portal-documents-page h2{letter-spacing:-2px;margin:0;font-size:clamp(30px,3.5vw,48px);font-weight:520}.portal-contacts-page>header p,.portal-documents-page>header p{color:var(--portal-muted);margin:0;font-size:13px}.portal-documents-page>header>span{min-height:34px;color:var(--portal-muted);background:#ffffff61;border-radius:999px;align-items:center;padding:0 11px;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:13px}.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;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:13px;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:13px;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:13px}.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;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:13px;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:13px;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:13px;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:13px;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:13px}.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:13px;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-map-page,.portal-overview-grid,.portal-projects-layout{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}}.workspace-save-error{z-index:10000;color:#8f2433;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff4f6f7;border:1px solid #da364847;border-radius:18px;align-items:center;gap:10px;width:min(720px,100vw - 32px);padding:14px 18px;display:flex;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #3b141b33}.workspace-save-error svg{flex:0 0 20px;width:20px}.app-load-error{background:linear-gradient(145deg,#edf7f7,#fff3df 52%,#ecf0ff);place-items:center;min-height:100vh;padding:24px;display:grid}.app-load-error section{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffc7;border:1px solid #ffffffd9;border-radius:34px;width:min(560px,100%);padding:44px;box-shadow:0 28px 70px #343d4a26}.app-load-error small{color:#7358dc;letter-spacing:.14em;font-weight:700}.app-load-error h1{margin:14px 0 8px;font-size:clamp(38px,6vw,62px);line-height:.98}.app-load-error p{color:#657083;font-size:17px;line-height:1.5}.app-load-error button{color:#fff;font:inherit;cursor:pointer;background:#171b23;border:0;border-radius:999px;margin-top:18px;padding:14px 22px}.portal-client-main p{line-height:1.48;font-size:13px!important}.portal-client-main small{line-height:1.38;font-size:13px!important}.portal-client-main em{line-height:1.35;font-size:13px!important}.portal-client-brand small{font-size:13px;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:13px;line-height:1.3}.portal-secure-note{padding:13px}.portal-secure-note b{font-size:13px}.portal-secure-note small{font-size:13px;line-height:1.45}.portal-page-header>div:first-child small{font-size:13px!important}.portal-page-header button,.portal-page-header>div:last-child>span,.portal-welcome-card>div:first-child>span{font-size:13px}.portal-welcome-card p{font-size:15px!important}.portal-progress-orbit small{font-size:13px!important}.portal-kpi-grid article{min-height:138px}.portal-kpi-grid article em,.portal-kpi-grid article small{white-space:normal}.portal-focus-project>header small,.portal-updates-card>header small{font-size:13px!important}.portal-focus-project>header b,.portal-updates-card>header b{font-size:19px}.portal-detail-dates small,.portal-focus-content>div:first-child>p,.portal-focus-dates small{font-size:13px!important}.portal-detail-dates b,.portal-focus-dates b{font-size:13px}.portal-project-progress small{font-size:13px!important}.portal-detail-map>span,.portal-focus-content>div:first-child>button,.portal-focus-map-empty b,.portal-focus-map>span{font-size:13px}.portal-focus-map-empty small{font-size:13px!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,.portal-updates-card article small{font-size:13px!important}.portal-updates-card>button{min-height:40px;font-size:13px}.portal-lead-strip>div small{font-size:13px!important}.portal-lead-strip>div b{font-size:15px}.portal-lead-strip>div p{font-size:13px!important}.portal-lead-strip>a{font-size:13px}.portal-project-directory>header small{font-size:13px!important}.portal-project-directory>header>span{font-size:13px}.portal-project-directory button>div b{font-size:14px}.portal-project-directory button>div small{white-space:normal;font-size:13px!important}.portal-detail-summary small,.portal-live-map>header small,.portal-map-page>aside>header small,.portal-project-detail>header p,.portal-project-detail>header>strong small,.portal-project-directory button>strong small,.portal-shared-note p,.portal-shared-note small{font-size:13px!important}.portal-map-page>aside>button b{font-size:13px}.portal-map-page>aside>button small{white-space:normal;font-size:13px!important}.portal-live-map>header p{font-size:13px!important}.portal-live-map>header>span,.portal-map-legend span{font-size:13px}.portal-contacts-page>header p,.portal-contacts-page>header>small,.portal-documents-page>header p,.portal-documents-page>header small,.portal-live-map>footer small{font-size:13px!important}.portal-documents-page>header>span{font-size:13px}.portal-documents-page article b{font-size:14px}.portal-documents-page article small{font-size:13px!important}.portal-documents-page article button{font-size:13px}.portal-contacts-page article small{font-size:13px!important}.portal-contacts-page article h3{font-size:19px}.portal-contacts-page article p{font-size:13px!important}.portal-contacts-page article a{font-size:13px}.portal-empty-state>b{font-size:16px}.portal-empty-state>small{font-size:13px!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}.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:13px}.temporary-access-chip small{color:#477066;font-size:13px}.shared-map-workspace .dates input:disabled,.shared-map-workspace .title-edit input:read-only{cursor:default;opacity:1}.share-map{color:#4f3cb6!important;background:#ede8ffe6!important}.share-map svg{width:16px}.map-links-page-head{align-items:flex-end}.map-links-refresh{border:1px solid var(--line);min-height:45px;color:var(--ink);background:var(--panel-strong);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:8px;padding:0 17px;font-size:14px;display:inline-flex}.map-links-refresh svg{width:16px}.map-links-security-note{color:#16866c;border-radius:22px;align-items:center;gap:14px;margin-bottom:22px;padding:18px 20px;display:flex}.map-links-security-note>svg{flex:0 0 22px;width:22px}.map-links-security-note p{gap:4px;margin:0;display:grid}.map-links-security-note b{color:var(--ink);font-size:15px}.map-links-security-note small{color:var(--muted);font-size:14px;line-height:1.5}.shared-map-preview{border-radius:28px;margin-bottom:22px;padding:18px}.shared-preview-label{align-items:center;gap:12px;margin-bottom:14px;display:flex}.shared-preview-label>svg{color:#16866c;width:22px}.shared-preview-label>span{gap:3px;display:grid}.shared-preview-label b{font-size:16px}.shared-preview-label small{color:var(--muted);font-size:14px}.shared-preview-label em{color:#6546e2;letter-spacing:.08em;background:#7657ff1a;border-radius:999px;margin-left:auto;padding:7px 10px;font-size:13px;font-style:normal;font-weight:760}.shared-preview-shell{color:#f5f7fa;background:#dcecf1;border:1px solid #ffffffbf;border-radius:24px;height:520px;position:relative;overflow:hidden;box-shadow:0 20px 48px #23323e29,inset 0 1px #ffffffc7}.shared-preview-shell>header{z-index:6;color:#f7f9fb;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#222934f0;align-items:center;gap:22px;height:68px;padding:0 14px 0 20px;display:flex;position:relative;box-shadow:0 10px 30px #1c253024}.shared-preview-title{gap:4px;min-width:205px;display:grid}.shared-preview-title b{font-size:16px;font-weight:680}.shared-preview-title small{color:#b9f3dd;letter-spacing:.05em;align-items:center;gap:6px;font-size:13px;display:inline-flex}.shared-preview-title i{background:#33c999;border-radius:50%;width:6px;height:6px}.shared-preview-dates{color:#edf1f5;align-items:center;gap:11px;margin-left:auto;display:flex}.shared-preview-dates>svg{color:#bac5cf;width:17px}.shared-preview-dates>span{gap:2px;font-size:13px;display:grid}.shared-preview-dates small{color:#aeb9c4;font-size:13px}.shared-preview-dates>b{color:#9da9b5;font-size:14px}.shared-preview-access{background:#ffffff12;border:1px solid #ffffff1f;border-radius:13px;align-items:center;gap:8px;padding:7px 10px;display:flex}.shared-preview-access>svg{color:#76ddbc;width:16px}.shared-preview-access>span{gap:1px;display:grid}.shared-preview-access b{font-size:13px}.shared-preview-access small{color:#b9c3ce;font-size:13px}.shared-preview-shell>header>button{color:#18202a;min-height:42px;font:inherit;background:#f4f5f3;border:0;border-radius:14px;align-items:center;gap:7px;padding:0 14px;font-size:13px;display:inline-flex}.shared-preview-shell>header>button svg{width:16px}.shared-preview-body{grid-template-columns:292px minmax(0,1fr);height:calc(100% - 68px);display:grid}.shared-preview-body>aside{z-index:5;color:#202935;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f4f6f5eb;padding:17px 16px;position:relative;overflow:hidden;box-shadow:10px 0 30px #232f3c1a}.shared-preview-tabs{border-bottom:1px solid #5462711f;align-items:center;gap:22px;min-height:38px;padding:0 2px 12px;display:flex}.shared-preview-tabs b,.shared-preview-tabs span{align-items:center;gap:6px;font-size:14px;display:inline-flex}.shared-preview-tabs span{color:#788390}.shared-preview-tabs i{color:#6546e2;background:#7657ff1a;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:13px;font-style:normal;display:grid}.shared-preview-tabs>svg{color:#7f8995;width:16px;margin-left:auto}.shared-preview-actions{grid-template-columns:minmax(0,1fr) 38px 38px;gap:7px;margin:13px 0 11px;display:grid}.shared-preview-actions>span,.shared-preview-actions>svg{color:#fff;background:#202733;border-radius:12px;justify-content:center;align-items:center;min-height:38px;display:flex}.shared-preview-actions>span{gap:6px;font-size:13px}.shared-preview-actions svg{width:15px}.shared-preview-body>aside>label{color:#7d8793;background:#ffffffc2;border:1px solid #5a677721;border-radius:12px;align-items:center;gap:8px;min-height:39px;padding:0 11px;font-size:13px;display:flex}.shared-preview-body>aside>label svg{width:15px}.shared-preview-locations{margin-top:9px;display:grid}.shared-preview-locations>div{border-bottom:1px solid #5a67771a;align-items:flex-start;gap:9px;min-height:49px;padding:7px 4px;display:flex}.shared-preview-locations>div>i{border:2px solid #fff;border-radius:50%;flex:0 0 10px;width:10px;height:10px;margin-top:5px;box-shadow:0 2px 6px #18212c33}.shared-preview-locations span{grid-template-columns:minmax(0,1fr) auto;gap:2px 7px;min-width:0;display:grid}.shared-preview-locations b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.shared-preview-locations small{color:#697482;font-size:13px}.shared-preview-locations em{color:#8a949f;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:13px;font-style:normal;overflow:hidden}.shared-preview-map{min-width:0;position:relative;overflow:hidden}.shared-preview-map>div:first-child{width:100%;height:100%}.shared-preview-marker{pointer-events:none}.shared-preview-toolbar{z-index:5;color:#26303b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f7f4e0;border:1px solid #ffffffc7;border-radius:19px;align-items:stretch;gap:3px;min-height:60px;padding:5px 7px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 13px 32px #27303c2e}.shared-preview-toolbar span{border-radius:13px;align-content:center;place-items:center;gap:3px;min-width:72px;padding:6px 7px;display:grid}.shared-preview-toolbar span.active{background:#fff;box-shadow:0 3px 10px #1e28321a}.shared-preview-toolbar svg{width:17px}.shared-preview-toolbar small{white-space:nowrap;font-size:13px}.shared-map-preview>footer{color:var(--muted);align-items:center;gap:8px;margin-top:13px;font-size:13px;display:flex}.shared-map-preview>footer svg{color:#16866c;width:15px}.map-links-tabs{align-items:center;gap:8px;margin-bottom:13px;display:flex}.map-links-tabs button{border:1px solid var(--line);min-height:43px;color:var(--muted);cursor:pointer;font:inherit;background:#ffffff47;border-radius:999px;align-items:center;gap:9px;padding:0 15px;font-size:14px;display:inline-flex}.map-links-tabs button.active{color:#fff;background:#171b23;border-color:#171b23}.map-links-tabs span{background:#ffffff24;border-radius:50%;place-items:center;min-width:24px;height:24px;font-size:13px;display:grid}.map-links-error{color:#b52f49;background:#e24e6917;border-radius:15px;margin:0 0 12px;padding:12px 15px;font-size:14px}.map-links-list{border-radius:28px;overflow:hidden}.map-link-summary,.map-links-list>header{grid-template-columns:minmax(190px,1.25fr) minmax(180px,1fr) minmax(150px,.75fr) 110px minmax(190px,.85fr);align-items:center;gap:14px;display:grid}.map-links-list>header{min-height:50px;color:var(--muted);letter-spacing:.08em;padding:0 20px;font-size:13px;font-weight:750}.map-link-row,.map-links-list>header{border-bottom:1px solid var(--line)}.map-link-row:last-child{border-bottom:0}.map-link-summary{min-height:92px;padding:14px 20px}.map-link-map{align-items:center;gap:11px;min-width:0;display:flex}.map-link-map>svg{color:#6546e2;flex:0 0 20px;width:20px}.map-link-expiry,.map-link-map>span{gap:4px;min-width:0;display:grid}.map-link-expiry b,.map-link-map b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.map-link-expiry small,.map-link-map small,.map-link-masked small{color:var(--muted);font-size:13px}.map-link-masked{gap:4px;min-width:0;display:grid}.map-link-masked input{width:100%;min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:hidden}.map-link-masked input:focus{color:#6546e2}.map-link-status{color:#186d59;background:#2db7901c;border-radius:999px;align-items:center;gap:7px;width:max-content;min-height:31px;padding:0 11px;font-size:13px;font-weight:700;display:inline-flex}.map-link-status i{background:currentColor;border-radius:50%;width:7px;height:7px}.map-link-status.status-paused{color:#956918;background:#e9ac2f21}.map-link-status.status-deleted,.map-link-status.status-expired,.map-link-status.status-inactive{color:#aa4054;background:#e24e691a}.map-link-controls{justify-content:flex-end;align-items:center;gap:6px;display:flex}.map-link-controls button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:var(--panel-strong);cursor:pointer;border-radius:12px;place-items:center;padding:0;display:grid}.map-link-controls button.selected,.map-link-controls button:hover{color:#6546e2;background:#7657ff1a}.map-link-controls button.danger{color:#d94761}.map-link-controls button:disabled{opacity:.34;cursor:not-allowed}.map-link-controls button.permanent{gap:7px;width:auto;padding:0 12px;font-size:13px;display:inline-flex}.map-link-controls svg{width:16px}.map-link-activity-toggle{width:100%;min-height:44px;color:var(--muted);cursor:pointer;font:inherit;text-align:left;background:#ffffff1f;border:0;border-top:1px solid #70798914;align-items:center;gap:8px;padding:0 20px;font-size:13px;display:flex}.map-link-activity-toggle svg{width:15px}.map-link-activity-toggle span{background:var(--panel-strong);border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:13px;display:grid}.map-link-activity-toggle svg:last-child{margin-left:auto;transition:transform .18s}.map-link-activity-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.map-link-activity{scrollbar-width:thin;scrollbar-color:#70798959 transparent;max-height:340px;padding:5px 20px 16px;display:grid;overflow-y:auto}.map-link-activity>div{border-top:1px solid var(--line);grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;display:grid}.map-link-activity>div>span{color:#6546e2;background:#7657ff17;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.map-link-activity svg{width:15px}.map-link-activity p{gap:3px;margin:0;display:grid}.map-link-activity b{font-size:14px}.map-link-activity small,.map-link-activity time{color:var(--muted);font-size:13px}.map-link-activity time{align-items:center;gap:6px;display:inline-flex}.map-link-activity>p{color:var(--muted);margin:18px 0 5px;font-size:14px}.map-links-empty{min-height:260px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:9px;padding:36px;display:grid}.map-links-empty>svg{color:#6546e2;width:28px}.map-links-empty b{color:var(--ink);font-size:18px}.map-links-empty p{margin:0;font-size:14px}.map-link-create-modal{width:min(650px,100vw - 28px)}.map-link-target{border:1px solid var(--line);background:#ffffff40;border-radius:19px;gap:6px;margin-top:17px;padding:18px;display:grid}.map-link-target small{color:var(--muted);letter-spacing:.1em;font-size:13px}.map-link-target b{font-size:20px}.map-link-target p{color:var(--muted);margin:2px 0 0;font-size:14px;line-height:1.5}.map-link-expiry-toggle{border:1px solid var(--line);border-radius:19px;justify-content:space-between;align-items:center;gap:18px;margin-top:14px;padding:16px 18px;display:flex}.map-link-expiry-toggle>span{gap:4px;display:grid}.map-link-expiry-toggle b{font-size:15px}.map-link-expiry-toggle small{color:var(--muted);font-size:13px;line-height:1.45}.map-link-expiry-toggle>button{cursor:pointer;background:#c9ced6;border:0;border-radius:999px;width:48px;height:28px;padding:3px}.map-link-expiry-toggle>button i{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block}.map-link-expiry-toggle>button.active{background:#2eae88}.map-link-expiry-toggle>button.active i{transform:translate(20px)}.map-link-expiry-date{color:var(--muted);gap:8px;margin-top:14px;font-size:13px;font-weight:700;display:grid}.map-link-expiry-date input{border:1px solid var(--line);min-height:52px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;padding:0 16px;font-size:14px}.map-link-created{text-align:center;justify-items:center;gap:12px;padding-top:20px;display:grid}.map-link-created>span{color:#16866c;background:#2db7901c;border-radius:20px;place-items:center;width:62px;height:62px;display:grid}.map-link-created>span svg{width:27px}.map-link-created h3{margin:0;font-size:27px}.map-link-created>p{max-width:460px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.map-link-created>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin:8px 0;display:grid}.map-link-created input{border:1px solid var(--line);min-width:0;min-height:52px;color:var(--ink);background:var(--panel-strong);font:inherit;border-radius:16px;padding:0 15px;font-size:14px}.map-link-created button{min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;display:inline-flex}.map-link-created button svg{width:17px}.map-link-exists{text-align:center;justify-items:center;gap:13px;padding:25px 8px 6px;display:grid}.map-link-exists>span{color:#b27a17;background:#e9ac2f21;border-radius:20px;place-items:center;width:62px;height:62px;display:grid}.map-link-exists>span svg{width:28px}.map-link-exists h3{margin:0;font-size:27px}.map-link-exists p{max-width:480px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.map-link-exists>button{color:#fff;cursor:pointer;min-height:48px;font:inherit;background:#171b23;border:0;border-radius:15px;align-items:center;gap:8px;margin-top:7px;padding:0 17px;font-size:14px;display:inline-flex}.map-link-exists>button svg{width:16px}.map-link-delete-modal>p{color:var(--muted);margin:18px 0 0;font-size:14px;line-height:1.5}.map-link-delete-modal footer .danger{color:#fff;background:#d94761}.shared-link-gate{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}.shared-link-gate>section{text-align:center;border-radius:36px;justify-items:center;gap:12px;width:min(560px,100%);padding:46px;display:grid}.shared-link-gate>section>span{color:#6546e2;background:#7657ff1c;border-radius:21px;place-items:center;width:64px;height:64px;margin-bottom:6px;display:grid}.shared-link-unavailable>section>span{color:#d94761;background:#e24e691a}.shared-link-gate>section>span svg,.shared-link-gate>section>svg{width:27px}.shared-link-gate small{color:#6960ae;letter-spacing:.12em;font-size:13px;font-weight:750}.shared-link-gate h1{letter-spacing:-.045em;margin:0;font-size:clamp(38px,6vw,58px);font-weight:540;line-height:.95}.shared-link-gate p{color:#66707d;max-width:450px;margin:0;font-size:16px;line-height:1.55}.shared-link-name label{color:#636d7b;text-align:left;gap:8px;width:100%;margin-top:12px;font-size:13px;font-weight:750;display:grid}.shared-link-name input{color:#17202b;min-height:58px;font:inherit;background:#ffffffad;border:1px solid #484f5f24;border-radius:18px;outline:0;padding:0 18px;font-size:17px}.shared-link-name input:focus{border-color:#7657ff73;box-shadow:0 0 0 4px #7657ff14}.shared-link-name>section>button{color:#fff;cursor:pointer;width:100%;min-height:58px;font:inherit;background:#171b23;border:0;border-radius:18px;justify-content:space-between;align-items:center;padding:0 20px;font-size:15px;display:flex}.shared-link-name>section>button:disabled{opacity:.45;cursor:default}.shared-link-name>section>button svg{width:19px}.shared-link-error{background:#e24e6914;border-radius:14px;width:100%;padding:11px 13px;color:#b52f49!important;font-size:14px!important}.shared-link-gate footer{color:#737d8b;align-items:center;gap:7px;margin-top:9px;font-size:13px;line-height:1.45;display:inline-flex}.shared-link-gate footer svg{flex:0 0 15px;width:15px}@media (max-width:1100px){.map-links-list>header{display:none}.map-link-summary{grid-template-columns:minmax(200px,1fr) minmax(150px,.7fr) 105px auto}.map-link-masked{display:none}}@media (max-width:760px){.map-links-page-head{align-items:stretch}.shared-preview-label{align-items:flex-start}.shared-preview-label em{display:none}.shared-preview-shell{height:620px}.shared-preview-shell>header{gap:8px;height:58px}.shared-preview-access,.shared-preview-dates{display:none}.shared-preview-shell>header>button{margin-left:auto}.shared-preview-body{grid-template-rows:230px minmax(0,1fr);grid-template-columns:1fr;height:calc(100% - 58px)}.shared-preview-body>aside{padding:13px;box-shadow:0 8px 24px #27344114}.shared-preview-locations{grid-template-columns:repeat(2,minmax(0,1fr))}.shared-preview-locations>div:nth-child(n+5){display:none}.shared-preview-toolbar span{min-width:48px}.shared-preview-toolbar small{display:none}.map-link-summary{grid-template-columns:1fr auto}.map-link-expiry{grid-column:1}.map-link-status{grid-area:1/2}.map-link-controls{grid-column:1/-1;justify-content:flex-start}.map-link-created>div{grid-template-columns:1fr}.shared-link-gate{padding:12px}.shared-link-gate>section{border-radius:30px;padding:34px 24px}.temporary-access-chip{display:none}}@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,#f7efe5 58%,#e9edf5);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 0);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:13px;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:13px;display:flex}.auth-back-link,.auth-form-row a{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-password-account{color:#445166;background:#45af9514;border:1px solid #45af952e;border-radius:16px;gap:3px;padding:14px 16px;display:grid}.auth-password-account span{font-size:13px;font-weight:650}.auth-password-account strong{overflow-wrap:anywhere;color:#173a33;font-size:15px}.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:13px;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:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.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:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.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:13px;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:13px;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:13px}.mfa-secret code{color:#333b4b;text-overflow:ellipsis;font-size:13px;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}}@media (max-width:1120px){.project-calendar-layout{grid-template-columns:1fr}.calendar-todo-panel{min-height:0;position:static}}@media (max-width:760px){.project-calendar-toolbar{flex-direction:column;align-items:stretch!important}.project-calendar-actions{flex-direction:column;align-items:stretch}.calendar-view-switch,.project-calendar-add{width:100%}.calendar-view-switch button{flex:1;justify-content:center}.project-calendar-add{justify-content:center}.project-calendar-main .calendar-board{grid-template-columns:1fr}}@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}