@charset "UTF-8";@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;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,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{min-width:320px;min-height:100vh;margin:0}body:after{content:"";opacity:.08;pointer-events:none;z-index:9999;background-image:url(/bg.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-ease{syntax:"*";inherits:false}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{box-sizing:border-box;height:100%;display:flex;flex-direction:column;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;box-sizing:border-box;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:flex;flex-direction:column;flex:1 0 0;width:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;position:relative;flex-direction:column;flex:1 0 0;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex-direction:row;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex-direction:column;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:flex;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:flex;max-height:100%;min-height:20px;flex-flow:column wrap;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;flex:1 0 0;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;flex:1 1 0;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:flex;flex-direction:column;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{flex:1;display:flex;min-width:0;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{display:flex;flex:1 0 0%;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f5;--bg-hover: #ebebeb;--bg-active: #e0e0e0;--bg-input: #ffffff;--text-primary: #0a0a0a;--text-secondary: #525252;--text-tertiary: #737373;--text-muted: #a3a3a3;--border-primary: #e5e5e5;--border-secondary: #d4d4d4;--accent-primary: #0a0a0a;--accent-primary-hover: #262626;--accent-text: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 8px rgba(0,0,0,.08);--shadow-lg: 0 8px 16px rgba(0,0,0,.1);--card-bg: #ffffff;--card-header-bg: #0a0a0a;--card-header-hover: #1a1a1a;--card-header-text: #ffffff;--hero-ai-bg: linear-gradient(135deg, #1c1c1c 0%, #0a0a0a 100%);--hero-ai-text: rgba(255, 255, 255, .95);--hero-ai-label: rgba(255, 255, 255, .7);--color-primary: #0a0a0a;--color-primary-hover: #262626;--color-primary-text: #ffffff;--dark-card-bg: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);--dark-card-text: #ffffff;--toggle-handle: #ffffff;--status-success-bg: #dcfce7;--status-success-text: #166534;--status-warning-bg: #fef9c3;--status-warning-text: #854d0e;--status-danger-bg: #fee2e2;--status-danger-text: #991b1b;--status-info-bg: #f3f4f6;--status-info-text: #4b5563;--status-neutral-bg: #f5f5f5;--status-neutral-text: #525252;--color-success: #16a34a;--color-success-dark: #15803d;--color-danger: #dc2626;--color-danger-dark: #b91c1c;--color-warning: #ca8a04;--color-warning-dark: #a16207;--color-info: #6b7280;--skeleton-base: #e5e5e5;--skeleton-shine: #f0f0f0;--skeleton-header-base: #333333;--skeleton-header-shine: #444444;--color-outlook: #0078d4;--color-outlook-light: #e6f2fb;--color-outlook-text: #0078d4;--ai-overdue-bg: #fef2f2;--ai-overdue-text: #dc2626;--ai-overdue-border: #fecaca;--ai-deadline-bg: #fef3c7;--ai-deadline-text: #d97706;--ai-deadline-border: #fde68a;--ai-follow-up-bg: #ede9fe;--ai-follow-up-text: #7c3aed;--ai-follow-up-border: #ddd6fe;--ai-milestone-bg: #ecfdf5;--ai-milestone-text: #059669;--ai-milestone-border: #a7f3d0;--ai-reminder-bg: #eff6ff;--ai-reminder-text: #2563eb;--ai-reminder-border: #bfdbfe;--chart-blue: #3b82f6;--chart-green: #10b981;--chart-amber: #f59e0b;--chart-red: #ef4444;--chart-purple: #8b5cf6;--chart-pink: #ec4899;--chart-cyan: #06b6d4;--chart-lime: #84cc16;--chart-gray: #6b7280;--map-marker-fill: #22c55e;--map-marker-stroke: #166534;--streetview-placeholder-bg: hsl(220, 10%, 85%);--streetview-placeholder-gradient: hsl(220, 15%, 75%);--z-base: 1;--z-badges: 10;--z-sticky-header: 100;--z-dropdowns: 200;--z-map-controls: 400;--z-notifications: 500;--z-mobile-overlay: 600;--z-mobile-nav: 650;--z-modal-backdrop: 900;--z-modal: 950}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1c1c1c;--bg-hover: #252525;--bg-active: #2e2e2e;--bg-input: #1c1c1c;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--text-tertiary: #737373;--text-muted: #525252;--border-primary: #262626;--border-secondary: #3d3d3d;--accent-primary: #ffffff;--accent-primary-hover: #e5e5e5;--accent-text: #0a0a0a;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 4px 8px rgba(0,0,0,.5);--shadow-lg: 0 8px 16px rgba(0,0,0,.6);--card-bg: #141414;--card-header-bg: #1c1c1c;--card-header-hover: #2a2a2a;--card-header-text: #f5f5f5;--hero-ai-bg: linear-gradient(135deg, #1c1c1c 0%, #141414 100%);--hero-ai-text: rgba(255, 255, 255, .95);--hero-ai-label: rgba(255, 255, 255, .6);--color-primary: #ffffff;--color-primary-hover: #e5e5e5;--color-primary-text: #0a0a0a;--dark-card-bg: linear-gradient(135deg, #2a2a2a 0%, #1f1f1f 100%);--dark-card-text: #f5f5f5;--toggle-handle: #ffffff;--status-success-bg: #052e16;--status-success-text: #86efac;--status-warning-bg: #422006;--status-warning-text: #fde047;--status-danger-bg: #450a0a;--status-danger-text: #fca5a5;--status-info-bg: #1f2937;--status-info-text: #d1d5db;--status-neutral-bg: #262626;--status-neutral-text: #a3a3a3;--color-success: #22c55e;--color-success-dark: #16a34a;--color-danger: #ef4444;--color-danger-dark: #dc2626;--color-warning: #eab308;--color-warning-dark: #ca8a04;--color-info: #6b7280;--skeleton-base: #262626;--skeleton-shine: #3d3d3d;--skeleton-header-base: #2a2a2a;--skeleton-header-shine: #3a3a3a;--color-outlook: #4da6ff;--color-outlook-light: rgba(77, 166, 255, .15);--color-outlook-text: #4da6ff;--ai-overdue-bg: rgba(239, 68, 68, .2);--ai-overdue-text: #f87171;--ai-overdue-border: rgba(239, 68, 68, .3);--ai-deadline-bg: rgba(217, 119, 6, .2);--ai-deadline-text: #fbbf24;--ai-deadline-border: rgba(217, 119, 6, .3);--ai-follow-up-bg: rgba(124, 58, 237, .2);--ai-follow-up-text: #a78bfa;--ai-follow-up-border: rgba(124, 58, 237, .3);--ai-milestone-bg: rgba(5, 150, 105, .2);--ai-milestone-text: #34d399;--ai-milestone-border: rgba(5, 150, 105, .3);--ai-reminder-bg: rgba(37, 99, 235, .2);--ai-reminder-text: #60a5fa;--ai-reminder-border: rgba(37, 99, 235, .3);--chart-blue: #60a5fa;--chart-green: #34d399;--chart-amber: #fbbf24;--chart-red: #f87171;--chart-purple: #a78bfa;--chart-pink: #f472b6;--chart-cyan: #22d3ee;--chart-lime: #a3e635;--chart-gray: #9ca3af;--map-marker-fill: #4ade80;--map-marker-stroke: #22c55e;--streetview-placeholder-bg: hsl(220, 10%, 20%);--streetview-placeholder-gradient: hsl(220, 15%, 12%)}*{box-sizing:border-box}*{-ms-overflow-style:none;scrollbar-width:none}*::-webkit-scrollbar{display:none}.skip-link{position:absolute;top:-50px;left:0;background:var(--accent-primary);color:var(--accent-text);padding:.75rem 1.5rem;text-decoration:none;font-weight:600;z-index:calc(var(--z-modal) + 100);border-radius:0 0 8px;transition:top .2s ease}.skip-link:focus{top:0;outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--border-secondary, var(--border-primary));outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[role=switch]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--border-secondary, var(--border-primary));outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}:focus:not(:focus-visible){outline:none}.search-box-input:focus,.search-box-input:focus-visible,.search-input:focus,.search-input:focus-visible,.followup-input-wrapper input:focus,.followup-input-wrapper input:focus-visible,.public-search-box input:focus,.public-search-box input:focus-visible,.public-chat-input input:focus,.public-chat-input input:focus-visible,.calendar-search-input:focus,.calendar-search-input:focus-visible,.ai-followup-input:focus,.ai-followup-input:focus-visible,.floating-ai-input:focus,.floating-ai-input:focus-visible,.autocomplete-input-wrapper input:focus,.autocomplete-input-wrapper input:focus-visible,.auth-container input:focus,.auth-container input:focus-visible,.form-group input:focus,.form-group input:focus-visible,.form-group textarea:focus,.form-group textarea:focus-visible,.form-group select:focus,.form-group select:focus-visible,.profile-field input:focus,.profile-field input:focus-visible,.contact-form input:focus,.contact-form input:focus-visible,.contact-form select:focus,.contact-form select:focus-visible,.add-address-modal-content input:focus,.add-address-modal-content input:focus-visible,.status-filter:focus,.status-filter:focus-visible,.pd-filter-dropdown:focus,.pd-filter-dropdown:focus-visible{outline:none!important;box-shadow:none!important}.app{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);transition:background-color .2s,color .2s}button,a,[role=button],.clickable,.btn-back,.btn-primary,.btn-secondary,.btn-icon,.btn-edit,.btn-edit-small,.btn-close,.btn-clear,.btn-delete,.btn-refresh-summary,.btn-theme-toggle,.sheet-tab,.status-badge,.section-header,.location-row,.alert-item,.nav-tab,.nav-link,.template-card,.category-tab,.day-cell.has-items,.trend-column,.project-header,.location-grid-card,.profile-avatar,.view-toggle button,.expand-toggle,.next-step-item,.document-item,.map-marker,.notification-item,.filter-chip,.saved-filter-item{cursor:pointer}.app-header{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:var(--z-sticky-header);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-primary);transition:background-color .2s,border-color .2s}.header-content{display:flex;align-items:center;gap:.4rem}.header-logo{height:26px;width:26px;color:var(--text-primary);transition:opacity .2s}.header-logo:hover{opacity:.8}.header-content h1{margin:0;margin-right:.75rem;font-size:1.5rem;font-weight:700;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.02em;line-height:1;color:var(--text-primary)}.header-stat{display:inline-flex;align-items:center;height:30px;padding:0 .6rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:5px;white-space:nowrap}.header-stats-row{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.header-actions{display:flex;align-items:center;gap:.5rem}.header-actions .btn-secondary{height:30px;padding:0 .6rem;display:flex;align-items:center;font-size:.8rem}.header-actions .btn-icon{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);transition:all .2s ease}.header-actions .btn-icon:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.user-account{display:flex;align-items:center;gap:.75rem;padding-left:1rem;border-left:1px solid var(--border-primary)}.user-email{font-size:.9rem;color:var(--text-tertiary)}.btn-logout{height:32px;padding:0 .75rem;font-size:.85rem;background:transparent;color:var(--text-tertiary);border:1px solid var(--border-secondary);border-radius:6px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn-logout:hover{background:var(--bg-hover);color:var(--text-primary)}.main-content{padding:1.5rem}.filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:center}.unified-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;flex-wrap:wrap}.filter-bar-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex:1;min-width:0}.filter-bar-stats{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.filter-bar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.search-container-compact{position:relative}.search-container-compact .search-input-wrapper{position:relative;display:flex;align-items:center}.search-container-compact .search-input{width:180px;min-width:unset;height:36px;padding:0 2rem 0 2.25rem;font-size:.9rem;background-image:none}.search-container-compact .search-icon{position:absolute;left:.625rem;color:var(--text-muted);pointer-events:none;z-index:1;display:flex;align-items:center}.search-container-compact .clear-search-btn{position:absolute;right:.375rem;width:20px;height:20px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px}.search-container-compact .clear-search-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-container-compact .search-lookups{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;display:flex;gap:.25rem;flex-wrap:wrap;z-index:10}.stats-row-minimal{margin-bottom:.75rem}.stats-row-minimal .stats{color:var(--text-tertiary);font-size:.85rem}.unified-filter-bar .btn-quick-links{height:36px;padding:0 .75rem;font-size:.8rem}.unified-filter-bar .status-filter{height:36px;padding:0 1.75rem 0 .625rem;font-size:.8rem;min-width:80px}.unified-filter-bar .btn-settings{width:36px;height:36px}.search-input{flex:1;min-width:250px;height:44px;padding:0 2.5rem 0 1rem;border:1px solid var(--border-primary);border-radius:8px;font-size:1rem;background:var(--bg-input);color:var(--text-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .2s,box-shadow .2s,background-color .2s}.search-input:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.search-input:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));background-color:var(--bg-secondary)}.nyc-code-assistant{position:relative;flex:1;min-width:250px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:.875rem;color:var(--text-muted);pointer-events:none;z-index:1}.search-input-wrapper .search-input{flex:1;padding-left:2.75rem;padding-right:1rem;background-image:none}.search-input-wrapper .search-input.ai-mode{border-color:var(--accent-primary);padding-right:6rem}.ask-ai-btn{position:absolute;right:.5rem;display:flex;align-items:center;gap:.35rem;height:32px;padding:0 .75rem;background:var(--accent-primary);color:var(--accent-text);border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.ask-ai-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.ask-ai-btn:disabled{opacity:.7;cursor:not-allowed}.ai-loading-spinner{width:16px;height:16px;border:2px solid var(--accent-text);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.clear-search-btn{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-tertiary);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;transition:all .2s}.clear-search-btn:hover{background:var(--bg-active);color:var(--text-primary)}.ai-suggestions-panel{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg);padding:1rem;z-index:var(--z-dropdowns)}.ai-suggestions-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:600}.ai-badge{padding:.15rem .4rem;background:var(--text-primary);color:var(--bg-primary);font-size:.6rem;font-weight:600;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.ai-badge-claude{background:linear-gradient(135deg,#d97706,#ea580c);color:#fff}.ai-live-badge{display:flex;align-items:center;gap:.3rem;padding:.15rem .5rem;background:#22c55e26;color:var(--color-success);font-size:.65rem;font-weight:600;border-radius:3px;text-transform:uppercase}.ai-live-dot{width:6px;height:6px;background:var(--color-success);border-radius:50%;animation:pulse-live 2s ease-in-out infinite}@keyframes pulse-live{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.ai-header-actions{display:flex;align-items:center;gap:.5rem}.ai-mode-toggle{padding:.25rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.ai-mode-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-mode-toggle.claude{border-color:#d977064d;color:#d97706}.ai-mode-toggle.claude:hover{background:#d977061a}.ai-suggestions-desc{font-size:.85rem;color:var(--text-tertiary);margin-bottom:.75rem}.ai-suggestions-list{display:flex;flex-direction:column;gap:.25rem}.ai-suggestion-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--bg-secondary);border:1px solid transparent;border-radius:8px;color:var(--text-secondary);font-size:.85rem;text-align:left;cursor:pointer;transition:all .15s}.ai-suggestion-item:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.ai-suggestion-item svg{color:var(--text-muted);flex-shrink:0}.ai-response-panel{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 8px 32px #0003;overflow:hidden;z-index:var(--z-dropdowns);max-height:70vh;display:flex;flex-direction:column}.ai-response-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ai-response-title{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.8rem;color:var(--text-primary)}.ai-response-title svg{color:var(--text-muted)}.ai-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s}.ai-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ai-api-key-form{padding:1rem;background:var(--bg-tertiary)}.ai-api-key-form p{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary)}.api-key-input-row{display:flex;gap:.5rem}.api-key-input-row input{flex:1;padding:.75rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.api-key-link{display:flex;align-items:center;padding:0 1rem;background:var(--accent-primary);color:var(--accent-text);border-radius:8px;font-size:.85rem;font-weight:500;text-decoration:none;white-space:nowrap}.api-key-link:hover{background:var(--accent-primary-hover)}.api-key-note{margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.ai-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem;gap:.5rem}.ai-loading p{color:var(--text-muted);font-size:.75rem}.ai-loading-dots{display:flex;gap:.3rem}.ai-loading-dots span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.ai-loading-dots span:nth-child(1){animation-delay:-.32s}.ai-loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.ai-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin:.5rem 1rem;background:var(--status-danger-bg);color:var(--color-danger);font-size:.8rem;border-radius:8px}.ai-response-content{padding:1rem}.ai-question{padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:10px 10px 2px;margin-bottom:.5rem;font-size:.8rem;color:var(--text-primary);align-self:flex-end;max-width:85%}.ai-question strong{color:var(--text-muted);font-weight:500;font-size:.75rem;margin-right:.5rem}.ai-answer{font-size:.85rem;line-height:1.6;color:var(--text-secondary);padding:.5rem 0}.ai-answer>*:first-child{margin-top:0}.ai-answer>*:last-child{margin-bottom:0}.ai-answer h1,.ai-answer h2,.ai-answer h3,.ai-answer h4{margin:1rem 0 .5rem;color:var(--text-primary);font-weight:600}.ai-answer h1{font-size:1.1rem}.ai-answer h2{font-size:1rem}.ai-answer h3{font-size:.95rem}.ai-answer p{margin:.5rem 0}.ai-answer ul,.ai-answer ol{margin:.5rem 0;padding-left:1.25rem}.ai-answer li{margin:.25rem 0}.ai-answer li::marker{color:var(--text-muted)}.ai-answer code{padding:.1rem .35rem;background:var(--bg-tertiary);border-radius:4px;font-size:.8em;font-family:SF Mono,Monaco,Inconsolata,monospace}.ai-answer pre{padding:1rem;background:var(--bg-tertiary);border-radius:8px;overflow-x:auto}.ai-answer pre code{padding:0;background:none}.ai-answer strong{color:var(--text-primary);font-weight:600}.ai-answer blockquote{margin:1rem 0;padding:.75rem 1rem;border-left:3px solid var(--accent-primary);background:var(--bg-secondary);color:var(--text-secondary)}.ai-disclaimer{padding:.5rem .75rem;background:var(--bg-secondary);border-top:1px solid var(--border-primary);font-size:.65rem;color:var(--text-muted);text-align:left;display:flex;align-items:flex-start;gap:.4rem;flex-shrink:0}.ai-disclaimer svg{flex-shrink:0;width:10px;height:10px;margin-top:.1rem;opacity:.5}.ai-project-context{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--accent-primary);border-radius:6px;font-size:.8rem;color:var(--accent-text);margin-bottom:.75rem}.ai-project-banner{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--bg-secondary);font-size:.75rem;color:var(--text-tertiary);border-bottom:1px solid var(--border-primary);flex-shrink:0}.ai-project-banner svg{color:var(--text-muted);width:12px;height:12px}.ai-bin-tag{margin-left:auto;padding:.1rem .35rem;background:var(--bg-tertiary);border-radius:3px;font-size:.65rem;font-family:SF Mono,Monaco,monospace;color:var(--text-muted)}.ai-conversation-count{margin-left:.25rem;padding:.1rem .35rem;background:var(--bg-tertiary);border-radius:6px;font-size:.6rem;color:var(--text-muted)}.ai-conversation{flex:1;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.75rem;max-height:350px}.ai-message{display:flex;flex-direction:column}.ai-message-user{align-items:flex-end}.ai-message-assistant{align-items:flex-start}.ai-message:last-child{margin-bottom:0}.ai-followup{display:flex;gap:.4rem;padding:.6rem .75rem;background:var(--bg-secondary);border-top:1px solid var(--border-primary);flex-shrink:0}.ai-followup-input{flex:1;padding:.5rem .65rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:.8rem;transition:border-color .15s}.ai-followup-input:focus{outline:none;border-color:var(--text-muted)}.ai-followup-input::-moz-placeholder{color:var(--text-muted)}.ai-followup-input::placeholder{color:var(--text-muted)}.ai-followup-btn{padding:.5rem .65rem;border:none;border-radius:6px;background:var(--text-primary);color:var(--bg-primary);cursor:pointer;transition:opacity .15s,transform .1s;display:flex;align-items:center;justify-content:center}.ai-followup-btn:hover:not(:disabled){opacity:.85}.ai-followup-btn:active:not(:disabled){transform:scale(.95)}.ai-followup-btn:disabled{opacity:.5;cursor:not-allowed}.floating-ai-bubble{position:fixed;bottom:1.25rem;right:1.25rem;width:40px;height:40px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #00000026;z-index:var(--z-notifications)}.floating-ai-bubble svg{width:18px;height:18px}.floating-ai-bubble:hover{box-shadow:0 4px 16px #00000040}.floating-ai-panel{position:fixed;bottom:1.5rem;right:1.5rem;width:380px;max-height:70vh;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 8px 32px #00000040;z-index:var(--z-mobile-overlay);display:flex;flex-direction:column;overflow:hidden}.floating-ai-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.floating-ai-title{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.85rem;color:var(--text-primary)}.floating-ai-title svg{color:var(--text-muted)}.floating-ai-actions{display:flex;align-items:center;gap:.25rem}.floating-ai-clear-btn,.floating-ai-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;transition:all .15s}.floating-ai-clear-btn:hover,.floating-ai-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.floating-ai-conversation{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:200px;max-height:400px}.floating-ai-welcome{display:flex;flex-direction:column;gap:1rem}.floating-ai-welcome p{font-size:.85rem;color:var(--text-secondary);margin:0}.floating-ai-suggestions{display:flex;flex-direction:column;gap:.5rem}.floating-ai-suggestion{padding:.6rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:.8rem;text-align:left;cursor:pointer;transition:all .15s}.floating-ai-suggestion:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.floating-ai-message{display:flex;flex-direction:column}.floating-ai-message-user{align-items:flex-end}.floating-ai-message-assistant{align-items:flex-start}.floating-ai-question{padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:10px 10px 2px;font-size:.8rem;color:var(--text-primary);max-width:85%}.floating-ai-answer{font-size:.8rem;line-height:1.5;color:var(--text-secondary)}.floating-ai-answer p{margin:.4rem 0}.floating-ai-answer p:first-child{margin-top:0}.floating-ai-answer p:last-child{margin-bottom:0}.floating-ai-answer ul,.floating-ai-answer ol{margin:.4rem 0;padding-left:1.25rem}.floating-ai-answer li{margin:.2rem 0}.floating-ai-answer code{padding:.1rem .3rem;background:var(--bg-tertiary);border-radius:3px;font-size:.75rem}.floating-ai-loading{display:flex;justify-content:center;padding:1rem}.floating-ai-error{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:var(--status-danger-bg);color:var(--color-danger);font-size:.75rem;border-radius:8px}.floating-ai-input-area{display:flex;gap:.4rem;padding:.75rem;background:var(--bg-secondary);border-top:1px solid var(--border-primary)}.floating-ai-input{flex:1;padding:.55rem .75rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.floating-ai-input:focus{outline:none;border-color:var(--text-muted)}.floating-ai-input::-moz-placeholder{color:var(--text-muted)}.floating-ai-input::placeholder{color:var(--text-muted)}.floating-ai-send-btn{padding:.55rem .75rem;border:none;border-radius:8px;background:var(--text-primary);color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.floating-ai-send-btn:hover:not(:disabled){opacity:.85}.floating-ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.floating-ai-disclaimer{padding:.4rem .75rem;background:var(--bg-secondary);font-size:.6rem;color:var(--text-muted);text-align:center}@media(max-width:480px){.floating-ai-panel{width:calc(100vw - 2rem);right:1rem;bottom:1rem;max-height:80vh}.floating-ai-bubble{bottom:1rem;right:1rem;width:36px;height:36px}.floating-ai-bubble svg{width:16px;height:16px}}.search-container{position:relative;display:flex;align-items:center;flex:1;min-width:250px;gap:.5rem}.search-container .search-input{flex:1;min-width:0;padding-right:1rem;background-image:none}.search-lookups{display:flex;gap:.35rem;flex-shrink:0}.btn-lookup{display:flex;align-items:center;justify-content:center;height:44px;padding:0 .75rem;border:1px solid var(--border-primary);border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;text-transform:uppercase;letter-spacing:.02em}.btn-lookup:hover{transform:translateY(-1px)}.btn-lookup-blue{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.btn-lookup-blue:hover{background:var(--accent-primary-hover)}.btn-lookup-green{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-text)}.btn-lookup-green:hover{filter:brightness(.95)}.btn-lookup-orange{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning-text)}.btn-lookup-orange:hover{filter:brightness(.95)}.btn-lookup-red{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-text)}.btn-lookup-red:hover{filter:brightness(.95)}.btn-lookup-purple{background:var(--ai-follow-up-bg);color:var(--ai-follow-up-text);border-color:var(--ai-follow-up-text)}.btn-lookup-purple:hover{filter:brightness(.95)}.quick-links{position:relative}.btn-quick-links{display:flex;align-items:center;gap:.5rem;height:44px;padding:0 .875rem;background:var(--bg-input);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-quick-links:hover{border-color:var(--border-secondary);background:var(--bg-hover)}.btn-quick-links.active{border-color:var(--accent-primary);background:var(--bg-secondary)}.btn-quick-links .chevron{transition:transform .15s ease}.btn-quick-links.active .chevron{transform:rotate(180deg)}.btn-quick-links .quick-links-label{font-weight:600}.quick-links-dropdown{position:absolute;top:calc(100% + .5rem);right:0;width:640px;max-width:calc(100vw - 2rem);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdowns);overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.quick-links-header{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);font-weight:600;font-size:.85rem;color:var(--text-primary)}.quick-links-category{padding:.5rem 0;border-bottom:none}.quick-links-category:nth-child(2),.quick-links-category:nth-child(3){border-bottom:1px solid var(--border-primary)}.quick-links-category:nth-child(4),.quick-links-category:nth-child(5){border-bottom:1px solid var(--border-primary)}.quick-links-category:nth-child(2),.quick-links-category:nth-child(4){border-right:1px solid var(--border-primary)}.quick-links-category-name{padding:.25rem 1rem .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.quick-link-item{display:flex;align-items:center;width:100%;padding:.5rem 1rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:background .1s ease}.quick-link-item:hover{background:var(--bg-hover)}.quick-link-name{font-weight:500;font-size:.875rem;color:var(--text-primary);min-width:100px}.quick-link-desc{flex:1;font-size:.75rem;color:var(--text-muted);margin-left:.5rem;text-align:right}.status-filter{height:40px;padding:0 2rem 0 .75rem;border:1px solid var(--border-primary);border-radius:8px;font-size:.875rem;background:var(--bg-tertiary);color:var(--text-primary);min-width:100px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;transition:border-color .2s,box-shadow .2s,background-color .2s}.status-filter:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.status-filter:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));box-shadow:none}.expand-buttons{display:flex;gap:.5rem}.view-toggle{display:flex;height:44px;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.view-toggle-btn{padding:0 .875rem;height:100%;background:var(--bg-secondary);border:none;border-radius:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .2s}.view-toggle-btn:hover{background:var(--bg-hover);color:var(--text-tertiary)}.view-toggle-btn.active{background:var(--accent-primary);color:var(--accent-text)}.view-toggle-btn+.view-toggle-btn{border-left:1px solid var(--border-primary)}.stats-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stats{color:var(--text-tertiary);font-size:.9rem}.stats-actions{display:flex;align-items:center;gap:.5rem}.btn-toggle-next-steps{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;font-size:1rem;background:var(--bg-tertiary);color:var(--text-tertiary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s}.btn-toggle-next-steps:hover{background:var(--bg-active);color:var(--text-secondary)}.btn-toggle-next-steps.active{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.btn-toggle-next-steps.active svg{stroke:var(--accent-text)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.location-grid-card{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);overflow:hidden;transition:transform .2s,box-shadow .2s,background-color .2s}.location-grid-card.clickable{cursor:pointer;height:auto;min-height:260px;display:flex;flex-direction:column}.location-grid-card.clickable:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.grid-card-image{width:100%;height:100px;flex-shrink:0;background:var(--bg-tertiary);overflow:hidden}.grid-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.location-grid-card.clickable:hover .grid-card-image img{transform:scale(1.05)}.grid-card-content{padding:.875rem 1rem;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.grid-card-content h2{margin:0 0 .5rem;font-size:1.05rem;font-weight:600;color:var(--text-primary);line-height:1.4;min-height:1.4em;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-card-meta{display:flex;gap:.5rem;flex-wrap:wrap}.meta-badge{display:inline-flex;align-items:center;padding:.3rem .6rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary)}.grid-card-summary{margin:.75rem 0 0;font-size:.8rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grid-card-summary-skeleton{margin:.75rem 0 0}.grid-card-no-detail{margin-top:.75rem;font-size:.8rem;color:var(--text-muted);font-style:italic}.grid-card-project{margin-top:.5rem;padding:.625rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;flex-shrink:0;overflow:hidden}.grid-card-project-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.project-client{font-size:.85rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.project-type{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:.2rem .5rem;background:var(--accent-primary);color:var(--accent-text);border-radius:4px;white-space:nowrap}.project-description{margin:0 0 .5rem;font-size:.75rem;color:var(--text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.project-stats{display:flex;gap:.75rem;flex-wrap:wrap}.project-stat{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--text-muted)}.project-stat svg{opacity:.7}.project-stat.open{color:var(--color-warning)}.project-stat.open svg{opacity:1}.project-stat.mpp{font-weight:600;color:var(--text-secondary)}.grid-card-no-project{margin-top:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px dashed var(--border-secondary);border-radius:8px;text-align:center;font-size:.8rem;color:var(--text-muted)}.grid-card-next-steps{margin-top:.75rem;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-left:3px solid var(--text-tertiary);border-radius:4px}.grid-card-next-steps-header{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);margin-bottom:.4rem}.grid-card-next-steps-header svg{color:var(--text-tertiary);flex-shrink:0}.grid-card-next-steps-list{margin:0;padding-left:1rem}.grid-card-next-steps-list li{font-size:.75rem;line-height:1.4;color:var(--text-secondary);margin-bottom:.2rem}.grid-card-next-steps-list li:last-child{margin-bottom:0}.grid-card-next-steps-list li::marker{color:var(--text-muted)}.location-grid-card.add-address-card{border:2px dashed var(--border-secondary);background:transparent;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.location-grid-card.add-address-card:hover{border-color:var(--accent-primary);background:var(--bg-hover);transform:translateY(-2px)}.add-address-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;text-align:center}.add-address-icon{width:56px;height:56px;border-radius:50%;background:var(--bg-tertiary);border:2px dashed var(--border-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .2s ease}.location-grid-card.add-address-card:hover .add-address-icon{border-color:var(--accent-primary);background:var(--bg-hover);color:var(--accent-primary)}.add-address-text{font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color .2s ease}.location-grid-card.add-address-card:hover .add-address-text{color:var(--accent-primary)}.add-address-list-item{border:2px dashed var(--border-secondary);border-radius:10px;background:transparent;cursor:pointer;padding:1rem 1.25rem;margin-top:.5rem;transition:all .2s ease}.add-address-list-item:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.add-address-list-content{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--text-muted);font-size:.9rem;font-weight:500}.add-address-list-item:hover .add-address-list-content{color:var(--accent-primary)}.add-address-modal{background:var(--bg-primary);border-radius:16px;width:100%;max-width:550px;box-shadow:var(--shadow-xl);border:1px solid var(--border-primary);overflow:visible}.add-address-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-primary)}.add-address-modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.add-address-modal-content{padding:1.5rem}.add-address-modal-content .form-group{margin-bottom:1.5rem}.add-address-modal-content .form-group label{display:block;margin-bottom:.5rem;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.add-address-modal-content .form-group input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-primary);border-radius:8px;font-size:1rem;background:var(--bg-input);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.add-address-modal-content .form-group input:focus{outline:none;border-color:var(--border-secondary);box-shadow:none}.add-address-modal-content .form-group input::-moz-placeholder{color:var(--text-muted)}.add-address-modal-content .form-group input::placeholder{color:var(--text-muted)}.add-address-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.add-address-modal-actions .btn{padding:.625rem 1.25rem;font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.add-address-modal-actions .btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary)}.add-address-modal-actions .btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.add-address-modal-actions .btn-primary{background:var(--accent-primary);border:none;color:var(--accent-text)}.add-address-modal-actions .btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.add-address-modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.address-autocomplete{position:relative;width:100%;overflow:visible}.form-group:has(.address-autocomplete){overflow:visible}.modal-content:has(.address-autocomplete){overflow:visible}.modal-overlay:has(.address-autocomplete) .modal-content{overflow:visible}.autocomplete-input-wrapper{position:relative;display:flex;align-items:center}.autocomplete-input-wrapper input{width:100%;padding:.875rem 2.5rem .875rem 1rem;border:1px solid var(--border-secondary);border-radius:8px;font-size:1rem;background:var(--bg-input);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease}.autocomplete-input-wrapper input:focus{outline:none;border-color:var(--border-secondary);box-shadow:none}.autocomplete-input-wrapper input::-moz-placeholder{color:var(--text-muted)}.autocomplete-input-wrapper input::placeholder{color:var(--text-muted)}.autocomplete-spinner{position:absolute;right:.875rem;color:var(--text-muted);display:flex;align-items:center}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;box-shadow:var(--shadow-lg);max-height:280px;overflow-y:auto;overflow-x:hidden;z-index:9999;list-style:none;padding:.25rem}.autocomplete-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem;cursor:pointer;border-radius:6px;transition:background-color .15s ease}.autocomplete-item:hover,.autocomplete-item.highlighted{background:var(--bg-hover)}.autocomplete-item-main{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.autocomplete-item-main svg{flex-shrink:0;color:var(--text-muted)}.autocomplete-address{font-size:.9375rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.autocomplete-borough{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;flex-shrink:0;margin-left:.5rem}.location-grid-card.has-overdue{border:2px solid var(--color-danger)}.overdue-badge{position:absolute;top:.75rem;right:.75rem;background:var(--color-danger);color:#fff;padding:.35rem .65rem;border-radius:6px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.35rem;box-shadow:0 2px 8px #dc262666;z-index:var(--z-badges)}.overdue-badge svg{flex-shrink:0}.location-grid-card.has-next-steps{border:2px solid var(--color-warning)}.next-steps-badge{position:absolute;top:.75rem;right:.75rem;background:var(--color-warning);color:#1a1a1a;padding:.35rem .65rem;border-radius:6px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.35rem;box-shadow:0 2px 8px #f59e0b66;z-index:var(--z-badges)}.next-steps-badge svg{flex-shrink:0}.location-grid-card{position:relative}.location-card{background:var(--card-bg);border-radius:12px;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);overflow:hidden}.location-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--card-header-bg);color:var(--card-header-text);cursor:pointer;transition:background .2s}.location-header:hover{background:var(--card-header-hover)}.location-header-info{flex:1;min-width:0}.location-header h2{margin:0;font-size:1.1rem}.location-top-project{display:block;font-size:.8rem;color:var(--text-tertiary);margin-top:.25rem}.location-project-details{margin-top:.25rem}.location-project-details .project-client{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.location-project-details .project-description{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.location-type-mpp{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-left:auto;flex-shrink:0}.location-type-mpp .project-type{font-size:.7rem;padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-muted);font-weight:500}.location-type-mpp .project-mpp{font-size:.7rem;padding:.15rem .5rem;background:var(--accent-bg);color:var(--accent-color);border-radius:4px;font-weight:600}.location-type-mpp .location-open-filings{font-size:.7rem;padding:.15rem .5rem;background:var(--bg-tertiary);color:var(--text-muted);border-radius:4px;font-weight:500}.expand-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);transition:transform .2s ease,color .2s ease;flex-shrink:0}.expand-icon.expanded{transform:rotate(90deg)}.expand-icon svg{width:12px;height:12px}.project-count{font-size:.85rem;color:var(--text-muted)}.location-image{flex-shrink:0;width:5.5rem;min-height:3.5rem;align-self:stretch;border-radius:6px;overflow:hidden;background:var(--bg-tertiary)}.location-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.location-header:hover .location-image img{transform:scale(1.05)}.location-projects{padding:1rem;background:var(--bg-tertiary)}.location-expanded-content{padding:1rem;background:var(--bg-tertiary);border-top:1px solid var(--border-primary)}.location-expanded-content .filings-inline{background:var(--card-bg);border-radius:8px;border:1px solid var(--border-primary);overflow:hidden}.location-expanded-content .filings-inline .filings-inline-job-types{padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);margin:0}.location-expanded-content .filings-inline .filings-table{margin:0;border-radius:0}.location-expanded-content .filings-inline .filings-table th{background:var(--bg-secondary);border-radius:0}.location-expanded-content .filings-inline .filings-table th:first-child,.location-expanded-content .filings-inline .filings-table th:last-child{border-radius:0}.location-expanded-content .filings-inline .filings-table tbody tr:last-child td{border-bottom:none}.location-expanded-content .filings-inline .btn-add-filing{margin:0;padding:.75rem 1rem;width:100%;font-size:.8rem;background:var(--bg-secondary);border:none;border-top:1px solid var(--border-primary);color:var(--text-muted);border-radius:0;cursor:pointer;transition:all .15s ease;text-align:center}.location-expanded-content .filings-inline .btn-add-filing:hover{background:var(--bg-hover);color:var(--accent-primary)}.project-inline{background:var(--card-bg);border-radius:8px;margin-bottom:1rem;border:1px solid var(--border-primary);overflow:hidden}.project-inline:last-child{margin-bottom:0}.project-inline-header{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.project-inline-info{flex:1;min-width:0}.project-inline-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-inline-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.project-mpp-badge{background:var(--accent-blue);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.project-type-badge{background:var(--bg-tertiary);color:var(--text-secondary);padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.project-inline-description{margin:.5rem 0 0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.project-inline-stats{display:flex;gap:.75rem;font-size:.8rem;flex-shrink:0}.project-inline-stats .stat-item{padding:.25rem .5rem;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary)}.project-inline-stats .stat-item.approved{background:#22c55e26;color:#22c55e}.project-inline-stats .stat-item.pending{background:#eab30826;color:#eab308}.project-inline-stats .stat-item.denied{background:#ef444426;color:#ef4444}[data-theme=dark] .project-inline-stats .stat-item.approved{background:#22c55e33;color:#4ade80}[data-theme=dark] .project-inline-stats .stat-item.pending{background:#eab30833;color:#facc15}[data-theme=dark] .project-inline-stats .stat-item.denied{background:#ef444433;color:#f87171}.project-inline-actions{display:flex;gap:.5rem;flex-shrink:0}.project-inline-job-types{display:flex;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.filings-inline-job-types{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0}.filings-inline-job-types .job-type-chip{padding:.15rem .4rem;font-size:.65rem;background:var(--bg-secondary);border:1px solid var(--border-primary)}.filings-inline-job-types .job-type-chip.selectable{cursor:pointer;transition:all .15s ease}.filings-inline-job-types .job-type-chip.selectable:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.filings-inline-job-types .job-type-chip.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.filings-inline-job-types .job-type-chip.clear-filter{background:transparent;border:1px dashed var(--border-primary);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.filings-inline-job-types .job-type-chip.clear-filter:hover{border-color:var(--text-muted);color:var(--text-secondary)}.project-inline .filings-table{margin:.75rem 0;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.project-inline .filings-table th{background:var(--bg-secondary)}.project-inline .filings-table th:first-child,.project-inline .filings-table th:last-child{border-radius:0}.project-inline .filings-table tbody tr:last-child td{border-bottom:none}.project-inline .btn-add-filing{margin:.75rem 0 0;padding:.5rem 1rem;font-size:.75rem;background:transparent;border:1px dashed var(--border-primary);color:var(--text-muted);border-radius:6px;transition:all .15s ease}.project-inline .btn-add-filing:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#3b82f60d}.project-card{background:var(--card-bg);border-radius:8px;margin-bottom:.75rem;border:1px solid var(--border-primary);overflow:hidden}.project-header{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:background .2s}.project-header:hover{background:var(--bg-hover)}.project-info{display:flex;align-items:flex-start;gap:.75rem;flex:1}.project-details h3{margin:0 0 .25rem;font-size:1rem;color:var(--text-primary)}.project-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-tertiary);flex-wrap:wrap}.project-meta .mpp{font-weight:600;color:var(--text-secondary)}.project-meta .type{background:var(--bg-tertiary);padding:.1rem .5rem;border-radius:4px}.project-status-summary{display:flex;gap:.5rem;flex-wrap:wrap}.filings-section{padding:.75rem 1rem 1rem}.filings-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8rem;table-layout:fixed}.filings-table th{text-align:left;padding:.6rem .75rem;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary);position:sticky;top:0;z-index:var(--z-base)}.filings-table th:nth-child(1){width:15%}.filings-table th:nth-child(2){width:14%}.filings-table th:nth-child(3){width:8%}.filings-table th:nth-child(4){width:14%}.filings-table th:nth-child(5){width:14%}.filings-table th:nth-child(6){width:25%}.filings-table th:nth-child(7){width:10%;text-align:center}.filings-table th:first-child{border-radius:8px 0 0}.filings-table th:last-child{border-radius:0 8px 0 0}.filings-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-primary);vertical-align:middle;color:var(--text-primary);transition:background .15s ease;overflow:hidden;text-overflow:ellipsis}.filings-table tbody tr{transition:background .15s ease}.filings-table tbody tr:hover{background:var(--bg-hover)}.filings-table tbody tr:hover td{border-bottom-color:transparent}.filings-table td:first-child{font-weight:500;color:var(--text-secondary);font-size:.75rem}.application-cell{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.75rem;color:var(--accent-primary);font-weight:500}.filings-table td:nth-child(3){font-size:.75rem;color:var(--text-muted)}.filings-table td:nth-child(4){font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.comments-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;font-size:.75rem;color:var(--text-muted)}.actions-cell{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:.25rem}.actions-cell .btn-icon{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:transparent;color:var(--text-muted);transition:all .15s ease}.actions-cell .btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.actions-cell .btn-icon.btn-delete:hover{background:#ef44441a;color:var(--color-danger)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.status-pre-filed{background:#f59e0b26;color:#d97706}.status-plan-examiner-review{background:#3b82f626;color:#2563eb}.status-approved{background:#22c55e26;color:#16a34a}.status-approved-w\/-conditions{background:#84cc1626;color:#65a30d}.status-permitted{background:#06b6d426;color:#0891b2}.status-signed-off{background:var(--status-success-bg);color:var(--status-success-text)}.status-tco-issued{background:#14b8a626;color:#0d9488}.status-paa-approved{background:#6366f126;color:#6366f1}.status-disapproved{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-denied{background:#ef444426;color:#dc2626}.status-pending,.status-{background:var(--bg-tertiary);color:var(--text-muted)}[data-theme=dark] .status-pre-filed{background:#f59e0b33;color:#fbbf24}[data-theme=dark] .status-plan-examiner-review{background:#3b82f633;color:#60a5fa}[data-theme=dark] .status-approved{background:#22c55e33;color:#4ade80}[data-theme=dark] .status-approved-w\/-conditions{background:#84cc1633;color:#a3e635}[data-theme=dark] .status-permitted{background:#06b6d433;color:#22d3ee}[data-theme=dark] .status-tco-issued{background:#14b8a633;color:#2dd4bf}[data-theme=dark] .status-paa-approved{background:#6366f133;color:#a5b4fc}[data-theme=dark] .status-denied{background:#ef444433;color:#f87171}button{cursor:pointer;border:none;border-radius:6px;font-size:.9rem;transition:all .2s}.btn-primary{background:var(--accent-primary);color:var(--accent-text);height:40px;padding:0 1.25rem;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover{background:var(--accent-primary-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);height:40px;padding:0 1rem;border:1px solid var(--border-primary);display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover{background:var(--bg-active)}.btn-danger{background:var(--color-danger);color:#fff;height:40px;padding:0 1rem;display:inline-flex;align-items:center;justify-content:center}.btn-danger:hover{background:var(--color-danger-dark)}.btn-danger-outline{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger);height:40px;padding:0 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:var(--color-danger);color:#fff}.modal-actions-split{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.modal-actions-left{display:flex;align-items:center;gap:.5rem}.modal-actions-right{display:flex;align-items:center;gap:.75rem}.delete-confirm{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-danger)}.delete-confirm .btn-danger,.delete-confirm .btn-secondary{height:32px;padding:0 .75rem;font-size:.85rem}.delete-confirm-warning{flex-direction:column;align-items:flex-start;gap:.75rem;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:8px;padding:.875rem 1rem;margin-right:auto}.delete-confirm-content{display:flex;align-items:flex-start;gap:.625rem}.delete-confirm-warning .warning-icon{color:var(--color-danger);flex-shrink:0;margin-top:1px}.delete-confirm-message{color:var(--text-primary);font-size:.875rem;font-weight:500}.delete-confirm-actions{display:flex;gap:.5rem}.delete-confirm-actions .btn-secondary{background:transparent;border:1px solid var(--border-color)}.delete-confirm-actions .btn-danger{background:var(--color-danger);color:#fff}.delete-confirm-actions .btn-danger:hover{background:#dc2626}@media(max-width:480px){.modal-actions-split{flex-direction:column-reverse;gap:1rem}.modal-actions-left,.modal-actions-right{width:100%;justify-content:center}.delete-confirm{flex-wrap:wrap;justify-content:center}.delete-confirm-warning{width:100%}.delete-confirm-actions{margin-left:0;width:100%;justify-content:flex-end}}.btn-edit{background:var(--bg-tertiary);color:var(--text-secondary);height:32px;padding:0 .75rem;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center}.btn-edit:hover{background:var(--bg-active)}.project-actions{display:flex;align-items:center;gap:.5rem}.btn-delete-project{background:transparent;color:var(--text-muted);height:32px;width:32px;padding:0;font-size:.9rem;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-delete-project:hover{background:var(--status-danger-bg);color:var(--color-danger)}.btn-icon{background:transparent;height:32px;width:32px;padding:0;font-size:1rem;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg-tertiary)}.btn-add-filing{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:44px;padding:0 1rem;margin-top:.75rem;background:var(--bg-secondary);color:var(--text-secondary);border:2px dashed var(--border-secondary);border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-filing:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-add-filing svg{flex-shrink:0}.btn-add-project{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;height:44px;padding:0 1rem;margin-top:.75rem;background:var(--bg-secondary);color:var(--text-secondary);border:2px dashed var(--border-secondary);border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-project:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-add-project svg{flex-shrink:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop)}.modal-content{background:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--border-primary);width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-content.modal-wide{max-width:800px}.modal-content.modal-compact{max-width:480px}.modal-header-simple{margin-bottom:1.25rem}.modal-header-simple h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem}.modal-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0;line-height:1.4}.modal-content h2{color:var(--text-primary)}.modal-content.modal-medium{max-width:520px}.generate-matrix-description{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.9rem}.generate-matrix-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.generate-matrix-option{display:flex;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s}.generate-matrix-option:hover{background:var(--bg-hover)}.generate-matrix-option.selected{background:var(--accent-bg);border-color:var(--accent-primary)}.generate-matrix-option input{display:none}.generate-matrix-option .option-content{flex:1}.generate-matrix-option .option-title{display:block;font-weight:500;color:var(--text-primary)}.generate-matrix-option .option-description{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.generate-matrix-option .option-check{color:var(--accent-primary)}.generate-matrix-preview{background:var(--bg-secondary);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.generate-matrix-preview .preview-count{font-weight:600;color:var(--accent-primary)}.generate-matrix-preview .preview-text{color:var(--text-secondary);margin-left:.3rem}.ai-review-status{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.8rem;color:var(--text-muted)}.import-spinner.small{width:14px;height:14px;border-width:2px}.ai-review-summary{margin-top:.5rem}.ai-stat{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;padding:.25rem .5rem;border-radius:4px}.ai-stat.good{background:#22c55e1a;color:var(--color-success)}.ai-review-section{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:1px solid rgba(99,102,241,.2);border-radius:8px;padding:1rem;margin-bottom:1rem}.ai-review-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--color-primary)}.ai-review-desc{margin:0 0 .75rem;font-size:.8rem;color:var(--text-secondary)}.ai-suggestions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.ai-suggestion-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:var(--card-bg);border-radius:6px;border:1px solid var(--border-primary)}.suggestion-info{flex:1;min-width:0}.suggestion-app{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-change{display:flex;align-items:center;gap:.35rem;font-size:.75rem;margin-top:.2rem}.suggestion-change .from{color:var(--text-muted);text-decoration:line-through}.suggestion-change svg{color:var(--text-muted)}.suggestion-change .to{color:var(--color-primary);font-weight:500}.suggestion-reason{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.15rem}.suggestion-actions{display:flex;gap:.35rem;margin-left:.5rem}.suggestion-actions .btn-accept,.suggestion-actions .btn-reject{padding:.35rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.suggestion-actions .btn-accept{background:#22c55e1a;color:var(--color-success)}.suggestion-actions .btn-accept:hover{background:#22c55e33}.suggestion-actions .btn-reject{background:#ef44441a;color:var(--color-danger)}.suggestion-actions .btn-reject:hover{background:#ef444433}.ai-suggestion-more{font-size:.8rem;color:var(--text-muted);text-align:center;padding:.5rem}.generate-matrix-loading,.generate-matrix-error{text-align:center;padding:2rem;color:var(--text-secondary)}.generate-matrix-error svg{color:var(--color-danger);margin-bottom:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-primary);border-radius:6px;font-size:1rem;background:var(--bg-input);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));box-shadow:none}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions.modal-actions-spread{justify-content:space-between;align-items:center}.modal-actions-buttons{display:flex;gap:.75rem}.form-group-inline{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary)}.checkbox-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-toggle input{display:none}.toggle-slider{position:relative;width:44px;height:24px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:12px;transition:all .2s ease}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:all .2s ease}.checkbox-toggle input:checked+.toggle-slider{background:linear-gradient(135deg,#9333ea,#7c3aed);border-color:#9333ea}.checkbox-toggle input:checked+.toggle-slider:after{left:22px;background:#fff}.toggle-label{font-weight:500;color:var(--text-secondary);font-size:.9rem}.checkbox-toggle input:checked~.toggle-label{color:#9333ea}[data-theme=dark] .checkbox-toggle input:checked~.toggle-label{color:#a78bfa}.btn-settings{display:flex;align-items:center;justify-content:center;height:40px;width:40px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-settings:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-settings.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-text)}.settings-modal{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-primary);width:100%;max-width:360px;box-shadow:var(--shadow-lg)}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.settings-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-modal-content{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.settings-toggle{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;cursor:pointer;transition:background .2s,border-color .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.settings-toggle:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.settings-toggle-label{display:flex;align-items:center;gap:.75rem;font-size:.95rem;font-weight:500;color:var(--text-primary)}.settings-toggle-label svg{color:var(--text-secondary);flex-shrink:0}.toggle-container{width:48px;height:28px;background:var(--border-secondary);border-radius:14px;padding:3px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;flex-shrink:0}.toggle-container.active{justify-content:flex-end;background:var(--accent-primary)}.toggle-container.disabled{opacity:.5;cursor:not-allowed}.toggle-handle{width:22px;height:22px;background:var(--card-bg);border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-container.active .toggle-handle{background:var(--accent-text)}.no-results{text-align:center;padding:3rem;color:var(--text-tertiary);font-size:1.1rem}.not-found{text-align:center;padding:4rem 2rem;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.not-found h2{margin:0 0 .5rem;color:var(--text-primary)}.not-found p{color:var(--text-tertiary);margin-bottom:1.5rem}.btn-view-detail{background:var(--accent-primary);color:var(--accent-text);align-self:stretch;padding:0 1.25rem;font-size:.875rem;font-weight:600;margin-left:auto;text-decoration:none;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s;white-space:nowrap}.btn-view-detail:hover{background:var(--accent-primary-hover);color:var(--accent-text)}.project-detail{display:flex;flex-direction:column;gap:1.5rem;min-height:calc(100vh - 120px);padding-bottom:2rem}.detail-header-row{display:flex;justify-content:space-between;align-items:center}.detail-header-actions{display:flex;gap:.75rem;align-items:center}.detail-header-row .btn-back,.detail-header-row .btn-edit-small,.detail-header-row .btn-secondary{height:40px;padding:0 1rem;font-size:.9rem;display:flex;align-items:center;justify-content:center}.btn-back{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--bg-tertiary);color:var(--text-secondary);height:40px;padding:0 1rem;border:1px solid var(--border-primary)}.btn-back:hover{background:var(--bg-active)}.btn-edit-small{height:40px;padding:0 1rem;font-size:.85rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn-edit-small:hover{background:var(--bg-active)}.detail-hero{display:flex;gap:1.5rem;background:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);align-items:stretch;min-height:140px}.detail-hero-image{width:180px;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px #0000001a;flex-shrink:0;align-self:center}.detail-hero-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.detail-hero-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em}.detail-hero-meta{display:flex;gap:.4rem;flex-wrap:wrap}.detail-hero-meta span{white-space:nowrap;background:var(--bg-tertiary);border:1px solid var(--border-primary);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:var(--text-primary)}.detail-hero-meta strong{color:var(--text-tertiary);font-weight:500;margin-right:.2rem}.detail-hero-updated{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.25rem}.detail-hero-ai{flex:1.5;min-width:300px;padding:1rem;background:var(--hero-ai-bg);border-radius:8px;color:var(--hero-ai-text);display:flex;flex-direction:column}.detail-hero-ai-label{display:flex;align-items:center;gap:.35rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--hero-ai-label);margin-bottom:.4rem}.detail-hero-ai-label svg{stroke:var(--hero-ai-label)}.detail-hero-ai-text{margin:0;font-size:.85rem;color:var(--hero-ai-text);line-height:1.45;flex:1}@media(max-width:1000px){.detail-hero{flex-direction:column;gap:1rem;align-items:stretch}.detail-hero-image{width:100%;height:160px}.detail-hero-ai{min-width:auto}}.ai-summary-card{background:var(--dark-card-bg);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;color:var(--dark-card-text);box-shadow:0 4px 12px #00000026}.ai-summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.ai-summary-header h3{margin:0;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ai-summary-text{margin:0;font-size:.95rem;line-height:1.5;opacity:.95}.ai-summary-loading{margin:0;font-size:.9rem;opacity:.8;font-style:italic}.next-steps-callout{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-left:4px solid var(--accent-primary);border-radius:8px;padding:1rem 1.25rem;color:var(--text-primary)}.next-steps-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.next-steps-header svg{color:var(--text-primary);flex-shrink:0}.next-steps-header h3{margin:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);flex:1}.btn-refresh-summary{background:transparent;border:none;width:24px;height:24px;padding:0;cursor:pointer;color:var(--text-tertiary);opacity:.7;transition:opacity .2s,transform .2s;display:flex;align-items:center;justify-content:center}.btn-refresh-summary:hover{opacity:1}.btn-refresh-summary:disabled{cursor:not-allowed;opacity:.5}.btn-refresh-summary svg.spinning{animation:spin 1s linear infinite}.next-steps-list{margin:0;padding-left:1.25rem}.next-steps-list li{font-size:.85rem;line-height:1.4;color:var(--text-primary)}.next-steps-list li::marker{color:var(--text-tertiary)}.sheet-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.sheet-tab{background:var(--bg-tertiary);color:var(--text-secondary);padding:.6rem 1rem;display:flex;align-items:center;gap:.5rem;border:1px solid var(--border-primary)}.sheet-tab:hover{background:var(--bg-active)}.sheet-tab.active{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.tab-count{background:#0000001a;padding:.1rem .4rem;border-radius:4px;font-size:.8rem}.sheet-tab.active .tab-count{background:#fff3}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.detail-status-summary{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.status-summary-total{display:flex;align-items:center;gap:.5rem;height:32px;padding:0 .75rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-primary);flex-shrink:0}.status-summary-total .total-count{font-size:1rem;font-weight:700;line-height:1;color:var(--text-primary)}.status-summary-total .total-label{font-size:.7rem;color:var(--text-muted)}.detail-status-filters{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.status-filters-label{font-size:.8rem;color:var(--text-muted);flex-shrink:0}.status-filter-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.status-chip{display:inline-flex;align-items:center;gap:.35rem;height:28px;padding:0 .6rem;border-radius:14px;font-size:.7rem;font-weight:500;border:1px solid var(--border-primary);cursor:pointer;transition:all .15s ease;background:var(--bg-secondary);color:var(--text-secondary)}.status-chip:hover{border-color:var(--border-secondary);background:var(--bg-hover)}.status-chip.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.status-chip .chip-count{font-size:.65rem;opacity:.7;margin-left:.15rem}.status-chip-clear{background:transparent;border-style:dashed;color:var(--text-muted)}.status-chip-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.status-chip-success{border-color:var(--status-success-border);background:var(--status-success-bg);color:var(--color-success)}.status-chip-success.active{background:var(--color-success);color:#fff;border-color:var(--color-success)}.status-chip-danger{border-color:var(--status-danger-border);background:var(--status-danger-bg);color:var(--color-danger)}.status-chip-danger.active{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.status-chip-warning{border-color:var(--status-warning-border);background:var(--status-warning-bg);color:var(--color-warning)}.status-chip-warning.active{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.status-chip-info{border-color:var(--status-info-border);background:var(--status-info-bg);color:var(--color-info)}.status-chip-info.active{background:var(--color-info);color:#fff;border-color:var(--color-info)}.status-chip-neutral{border-color:var(--border-primary);background:var(--bg-tertiary);color:var(--text-secondary)}.status-chip-neutral.active{background:var(--text-secondary);color:var(--bg-primary);border-color:var(--text-secondary)}.status-pills-container{display:flex;gap:.75rem;flex-wrap:wrap;flex:1;align-items:center}.status-pill{display:inline-flex;align-items:center;gap:.35rem;height:32px;padding:0 .6rem;border-radius:16px;font-size:.75rem;font-weight:500;border:none;cursor:pointer;transition:all .15s ease;background:var(--bg-tertiary);color:var(--text-secondary);position:relative}.status-pill:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.status-pill.active{transform:scale(1.08);box-shadow:0 4px 16px #0003;font-weight:600}.status-pill.active:after{content:"✓";position:absolute;top:-6px;right:-4px;width:16px;height:16px;background:var(--text-primary);color:var(--bg-secondary);border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.status-pill-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;flex-shrink:0}.status-pill-label{white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.status-pill-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.7rem;font-weight:700;background:#00000026;color:inherit}.status-pill-success{background:transparent;border:1px solid currentColor;color:#166534}.status-pill-success .status-pill-icon{background:#22c55e;color:#fff}.status-pill-success .status-pill-count{background:#00000014}.status-pill-success:hover,.status-pill-success.active{background:#22c55e1a}.status-pill-danger{background:transparent;border:1px solid currentColor;color:#991b1b}.status-pill-danger .status-pill-icon{background:#ef4444;color:#fff}.status-pill-danger .status-pill-count{background:#00000014}.status-pill-danger:hover,.status-pill-danger.active{background:#ef44441a}.status-pill-warning{background:transparent;border:1px solid currentColor;color:#92400e}.status-pill-warning .status-pill-icon{background:#f59e0b;color:#fff}.status-pill-warning .status-pill-count{background:#00000014}.status-pill-warning:hover,.status-pill-warning.active{background:#f59e0b1a}.status-pill-info{background:transparent;border:1px solid currentColor;color:#4b5563}.status-pill-info .status-pill-icon{background:#6b7280;color:#fff}.status-pill-info .status-pill-count{background:#00000014}.status-pill-info:hover,.status-pill-info.active{background:#6b72801a}.status-pill-neutral{background:transparent;border:1px solid currentColor;color:#374151}.status-pill-neutral .status-pill-icon{background:#6b7280;color:#fff}.status-pill-neutral .status-pill-count{background:#00000014}.status-pill-neutral:hover,.status-pill-neutral.active{background:#6b72801a}[data-theme=dark] .status-pill-success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:none}[data-theme=dark] .status-pill-success .status-pill-count{background:#16653426}[data-theme=dark] .status-pill-success:hover,[data-theme=dark] .status-pill-success.active{background:linear-gradient(135deg,#bbf7d0,#86efac)}[data-theme=dark] .status-pill-danger{background:linear-gradient(135deg,#fee2e2,#fecaca);border:none}[data-theme=dark] .status-pill-danger .status-pill-count{background:#991b1b26}[data-theme=dark] .status-pill-danger:hover,[data-theme=dark] .status-pill-danger.active{background:linear-gradient(135deg,#fecaca,#fca5a5)}[data-theme=dark] .status-pill-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:none}[data-theme=dark] .status-pill-warning .status-pill-count{background:#92400e26}[data-theme=dark] .status-pill-warning:hover,[data-theme=dark] .status-pill-warning.active{background:linear-gradient(135deg,#fde68a,#fcd34d)}[data-theme=dark] .status-pill-info{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:none}[data-theme=dark] .status-pill-info .status-pill-count{background:#4b556326}[data-theme=dark] .status-pill-info:hover,[data-theme=dark] .status-pill-info.active{background:linear-gradient(135deg,#e5e7eb,#d1d5db)}[data-theme=dark] .status-pill-neutral{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:none}[data-theme=dark] .status-pill-neutral .status-pill-count{background:#37415126}[data-theme=dark] .status-pill-neutral:hover,[data-theme=dark] .status-pill-neutral.active{background:linear-gradient(135deg,#e5e7eb,#d1d5db)}.status-pill.status-clear{background:var(--bg-secondary);color:var(--text-tertiary);border:1px dashed var(--border-secondary);gap:.3rem;padding:.35rem .6rem}.status-pill.status-clear:hover{background:var(--bg-hover);color:var(--text-primary);border-style:solid}[data-theme=dark] .status-pill-success{background:linear-gradient(135deg,#064e3b,#065f46);color:#6ee7b7}[data-theme=dark] .status-pill-success .status-pill-icon{background:#10b981}[data-theme=dark] .status-pill-success .status-pill-count{background:#6ee7b733}[data-theme=dark] .status-pill-success:hover,[data-theme=dark] .status-pill-success.active{background:linear-gradient(135deg,#065f46,#047857)}[data-theme=dark] .status-pill-danger{background:linear-gradient(135deg,#7f1d1d,#991b1b);color:#fca5a5}[data-theme=dark] .status-pill-danger .status-pill-icon{background:#ef4444}[data-theme=dark] .status-pill-danger .status-pill-count{background:#fca5a533}[data-theme=dark] .status-pill-danger:hover,[data-theme=dark] .status-pill-danger.active{background:linear-gradient(135deg,#991b1b,#b91c1c)}[data-theme=dark] .status-pill-warning{background:linear-gradient(135deg,#78350f,#92400e);color:#fcd34d}[data-theme=dark] .status-pill-warning .status-pill-icon{background:#f59e0b}[data-theme=dark] .status-pill-warning .status-pill-count{background:#fcd34d33}[data-theme=dark] .status-pill-warning:hover,[data-theme=dark] .status-pill-warning.active{background:linear-gradient(135deg,#92400e,#b45309)}[data-theme=dark] .status-pill-info{background:linear-gradient(135deg,#374151,#4b5563);color:#d1d5db}[data-theme=dark] .status-pill-info .status-pill-icon{background:#6b7280}[data-theme=dark] .status-pill-info .status-pill-count{background:#d1d5db33}[data-theme=dark] .status-pill-info:hover,[data-theme=dark] .status-pill-info.active{background:linear-gradient(135deg,#4b5563,#6b7280)}[data-theme=dark] .status-pill-neutral{background:linear-gradient(135deg,#374151,#4b5563);color:#d1d5db}[data-theme=dark] .status-pill-neutral .status-pill-icon{background:#9ca3af}[data-theme=dark] .status-pill-neutral .status-pill-count{background:#d1d5db33}[data-theme=dark] .status-pill-neutral:hover,[data-theme=dark] .status-pill-neutral.active{background:linear-gradient(135deg,#4b5563,#6b7280)}[data-theme=dark] .status-summary-total{background:var(--bg-secondary)}[data-theme=dark] .status-pill.active{box-shadow:0 4px 16px #0006}[data-theme=dark] .status-pill.active:after{background:var(--text-primary);color:var(--bg-secondary)}.btn-expand-toggle{flex-shrink:0;font-size:.75rem;height:32px;padding:0 .75rem;display:inline-flex;align-items:center}.detail-sections{flex:1;display:flex;flex-direction:column;gap:1.5rem}.detail-section{background:var(--card-bg);border-radius:10px;border:1px solid var(--border-primary);overflow:hidden}.section-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-primary)}.section-header:hover{background:var(--bg-hover)}.section-header h2{margin:0;font-size:.85rem;font-weight:600;flex:1}.item-count{font-size:.7rem;font-weight:500;color:var(--text-muted);background:var(--bg-primary);padding:.2rem .5rem;border-radius:10px}.section-content{padding:0;overflow-x:auto}.btn-add-filing{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1rem;padding:.875rem 1rem;background:transparent;border:2px dashed var(--border-secondary);border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-filing:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--bg-hover)}.btn-add-filing svg{font-size:.75rem}.detail-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8rem;table-layout:fixed}.detail-table th{text-align:left;padding:.6rem .75rem;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-primary);white-space:nowrap;position:sticky;top:0;z-index:var(--z-base)}.detail-table th:first-child{border-radius:8px 0 0}.detail-table th:last-child{border-radius:0 8px 0 0}.detail-table th:nth-child(1){width:15%}.detail-table th:nth-child(2){width:8%}.detail-table th:nth-child(3){width:8%}.detail-table th:nth-child(4){width:12%}.detail-table th:nth-child(5){width:8%}.detail-table th:nth-child(6){width:10%}.detail-table th:nth-child(7){width:12%}.detail-table th:nth-child(8){width:6%;text-align:center}.detail-table th:nth-child(9){width:15%}.detail-table th:nth-child(10){width:6%;text-align:center}.detail-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-primary);vertical-align:middle;color:var(--text-primary);transition:background .15s ease;overflow:hidden;text-overflow:ellipsis}.detail-table tbody tr{transition:background .15s ease}.detail-table tbody tr:hover{background:var(--bg-hover)}.detail-table tbody tr:hover td{border-bottom-color:transparent}.application-name{font-weight:500;color:var(--text-primary);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-number{font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.required-cell{text-align:center}.required-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-success);color:#fff;width:24px;height:24px;border-radius:50%;font-size:.7rem;font-weight:700}.required-note{font-size:.7rem;color:var(--text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comments-preview{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.actions-cell{white-space:nowrap;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.actions-cell .btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);transition:all .15s ease}.actions-cell .btn-icon:hover{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.filing-list{display:flex;flex-direction:column;overflow-x:auto}.filing-header,.filing-row{display:grid;grid-template-columns:40px 2fr 1fr 1fr 1fr .7fr 1fr 1fr .5fr 2fr 36px;align-items:center;gap:.5rem;padding:.5rem .75rem}.filing-header{border-bottom:1px solid var(--border-secondary);background:var(--bg-tertiary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.filing-header span{background:transparent;padding:0}.filing-row{border-bottom:1px solid var(--border-primary);cursor:pointer;transition:background .15s ease}.filing-row:last-child{border-bottom:none}.filing-row:hover{background:var(--bg-hover)}.filing-row>*,.filing-header>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filing-name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.filing-job{font-family:SF Mono,Monaco,monospace;font-size:.7rem;color:var(--text-muted);padding:.15rem .4rem;background:var(--bg-tertiary);border-radius:3px;width:-moz-fit-content;width:fit-content;max-width:100%}.filing-type{font-size:.75rem;color:var(--text-tertiary)}.filing-applicant{font-size:.8rem;color:var(--text-secondary)}.filing-date{font-size:.75rem;color:var(--text-muted)}.filing-duration{font-size:.75rem;color:var(--text-tertiary)}.filing-comments{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filing-required{font-size:.65rem;font-weight:600;color:var(--color-success);text-transform:uppercase;letter-spacing:.03em}.filing-status{min-width:0;overflow:visible}.status-badge.status-sm{font-size:.65rem;padding:.2rem .4rem;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block}.filing-edit{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s ease;opacity:0}.filing-row:hover .filing-edit{opacity:1}.filing-edit:hover{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.filing-mine-header{text-align:center}.filing-mine{display:flex;align-items:center;justify-content:center}.mine-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:all .15s ease}.mine-toggle:hover{background:var(--bg-hover);color:var(--text-secondary)}.mine-toggle.active{color:#9333ea}.mine-toggle.active:hover{color:#7c3aed}.filing-row.is-mine{background:#9333ea0d}.filing-row.is-mine:hover,[data-theme=dark] .filing-row.is-mine{background:#9333ea1a}[data-theme=dark] .filing-row.is-mine:hover{background:#9333ea26}.dob-list .filing-header{cursor:default}.dob-list .filing-row.dob-clickable{cursor:pointer;transition:background-color .15s ease}.dob-list .filing-row.dob-clickable:hover{background:var(--bg-hover)}.dob-violations-header,.dob-violations-row,.dob-complaints-header,.dob-complaints-row{grid-template-columns:1fr 1fr 2fr 1fr 1fr!important}.dob-permits-header,.dob-permits-row{grid-template-columns:1fr 1fr 1.5fr 1fr 1fr 1fr!important}.dob-jobs-header,.dob-jobs-row{grid-template-columns:1fr 1fr 2fr 1fr 1fr!important}.additional-hpd-violations-header,.additional-hpd-violations-row{grid-template-columns:1fr .8fr 2.5fr 1fr 1fr!important}.additional-hpd-complaints-header,.additional-hpd-complaints-row{grid-template-columns:1fr 1.2fr 1.2fr 1fr 1fr!important}.additional-ecb-header,.additional-ecb-row{grid-template-columns:1.2fr 1fr 2fr 1fr 1fr!important}.additional-co-header,.additional-co-row{grid-template-columns:1fr .8fr 2.5fr 1fr!important}.additional-elevators-header,.additional-elevators-row{grid-template-columns:1fr 1.5fr .8fr .8fr 1fr!important}.additional-boilers-header,.additional-boilers-row{grid-template-columns:1fr 1.2fr 1fr 1fr 1fr!important}.additional-fdny-header,.additional-fdny-row{grid-template-columns:1fr 1.5fr 1fr 1fr!important}.additional-lpc-header,.additional-lpc-row{grid-template-columns:1fr 2fr 1fr 1fr!important}.additional-dof-header,.additional-dof-row{grid-template-columns:.8fr 1.5fr 1.5fr 1fr!important}.additional-construction-header,.additional-construction-row{grid-template-columns:1fr .8fr 2fr .8fr 1fr!important}.additional-hpd-reg-header,.additional-hpd-reg-row{grid-template-columns:1fr 2fr 1.5fr 1fr!important}.section-icon-hpd{color:#f97316}.section-icon-fdny{color:#ef4444}.section-icon-lpc{color:#8b5cf6}.filing-id{font-family:SF Mono,Monaco,monospace;font-size:.75rem;color:var(--text-secondary)}.filing-desc{font-size:.8rem;color:var(--text-secondary)}.status-active-violation{background:var(--status-danger-bg);color:var(--status-danger-text)}.section-icon{margin-right:.5rem;flex-shrink:0}.section-icon-violations{color:var(--status-danger-text, #ef4444)}.section-icon-complaints{color:var(--status-warning-text, #f59e0b)}.section-icon-permits{color:var(--status-success-text, #22c55e)}.section-icon-jobs{color:var(--accent-primary)}.pd-mine-filter{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);display:flex;align-items:center;gap:.35rem}.pd-mine-filter svg{opacity:.5}.pd-mine-filter.active{background:linear-gradient(135deg,#9333ea,#7c3aed);border-color:#9333ea;color:#fff}.pd-mine-filter.active svg{opacity:1}.status-completed{background:var(--status-success-bg);color:var(--status-success-text)}.status-uploaded,.status-received,.status-issued,.status-exempt{background:var(--status-neutral-bg);color:var(--status-neutral-text)}.modal-large{max-width:850px}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-row-3 .form-group{flex:1 1 33%;min-width:0}.form-row-4 .form-group{flex:1 1 25%;min-width:0}.form-group select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--border-primary);border-radius:8px;font-size:1rem;background:var(--bg-input);color:var(--text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .2s,box-shadow .2s,background-color .2s}.form-group select:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.form-group select:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));box-shadow:none;background-color:var(--bg-secondary)}.form-group input[type=date]{color-scheme:light;padding:.75rem;cursor:pointer}.form-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;-webkit-transition:opacity .2s;transition:opacity .2s}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] .form-group input[type=date]{color-scheme:dark}[data-theme=dark] .form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}.no-data{text-align:center;padding:3rem;color:var(--text-tertiary);font-size:1rem}@media(max-width:768px){.filters{flex-direction:column}.unified-filter-bar{flex-direction:column;align-items:stretch;gap:.75rem}.filter-bar-left{justify-content:flex-start;width:100%}.filter-bar-right{width:100%;justify-content:space-between}.search-container-compact{flex:1}.search-container-compact .search-input{width:100%}.search-input{width:100%;min-width:0}.locations-grid{grid-template-columns:1fr}.detail-hero{flex-direction:column}.detail-hero-image{width:100%;height:180px}.detail-hero-ai{width:100%}.detail-hero-meta{gap:1rem}.detail-header-row{flex-direction:column;gap:.75rem;align-items:stretch}.detail-header-actions{justify-content:flex-end}.project-header{flex-direction:column;align-items:flex-start}.filings-table{font-size:.75rem}.filings-table th,.filings-table td{padding:.4rem .5rem}.filings-table th:nth-child(3),.filings-table td:nth-child(3),.filings-table th:nth-child(6),.filings-table td:nth-child(6){display:none}.filings-table th:nth-child(1){width:20%}.filings-table th:nth-child(2){width:18%}.filings-table th:nth-child(4){width:20%}.filings-table th:nth-child(5){width:22%}.filings-table th:nth-child(7){width:20%}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.auth-container{background:var(--card-bg);padding:2.5rem;border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--border-primary);width:100%;max-width:400px;text-align:center}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem}.auth-logo{color:var(--accent-primary)}.auth-brand h1{margin:0;font-size:2.2rem;font-weight:800;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.03em;line-height:40px;background:linear-gradient(135deg,#5046e5,#7c3aed,#db2777);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .auth-brand h1{background:linear-gradient(135deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-container .form-group{margin-bottom:1.25rem;text-align:left}.auth-container label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.auth-container input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-primary);border-radius:8px;font-size:1rem;transition:border-color .2s;background:var(--bg-input);color:var(--text-primary)}.auth-container input:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));box-shadow:none}.auth-error{color:var(--color-danger);font-size:.9rem;margin-bottom:1rem;padding:.75rem;background:var(--status-danger-bg);border-radius:6px}.auth-btn{width:100%;padding:.875rem;font-size:1rem;margin-top:.5rem}.auth-message{color:var(--color-success);font-size:.9rem;margin-bottom:1rem;padding:.75rem;background:var(--status-success-bg);border-radius:6px;text-align:center}.auth-links{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem}.auth-link{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.25rem;transition:color .2s}.auth-link:hover{color:var(--text-primary);text-decoration:underline}.auth-divider{display:flex;align-items:center;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-primary)}.auth-divider span{padding:0 1rem;color:var(--text-secondary);font-size:.875rem}.auth-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem;text-align:center}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}.section-content{position:relative;-webkit-overflow-scrolling:touch}.filings-section{-webkit-overflow-scrolling:touch}@media(max-width:768px){.detail-table{min-width:800px;font-size:.8rem}.detail-table th,.detail-table td{padding:.5rem .4rem}.filings-section{padding:0 .5rem .75rem;overflow-x:auto}.filings-table{min-width:600px}.modal-overlay{padding:2rem 1rem 1rem;align-items:flex-start}.modal-content{max-width:100%;width:100%;padding:1.5rem;max-height:calc(100vh - 4rem);margin:0}.modal-large{max-width:100%}.modal-content h2{font-size:1.25rem;margin-bottom:1rem}.btn-icon{padding:.5rem .6rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-edit,.btn-add-filing{padding:.6rem 1rem;min-height:44px}.btn-primary,.btn-secondary,.btn-danger,.btn-back{min-height:44px;padding:.6rem 1rem}.btn-logout{padding:.6rem .85rem;min-height:40px}.status-badge{padding:.35rem .75rem;min-height:32px;display:inline-flex;align-items:center}.view-toggle-btn{padding:.75rem;min-width:44px;min-height:44px}.sheet-tab{padding:.75rem 1rem;min-height:44px}}@media(max-width:480px){.main-content{padding:.75rem}.header-stat{height:28px;font-size:.7rem;padding:0 .5rem}.user-account{padding-left:.5rem;gap:.5rem}.user-email{font-size:.75rem;max-width:120px;overflow:hidden;text-overflow:ellipsis}.detail-table{min-width:700px;font-size:.75rem}.detail-table th,.detail-table td{padding:.4rem .3rem}.filings-table{font-size:.7rem;min-width:0;table-layout:auto}.filings-table th,.filings-table td{padding:.35rem .4rem}.filings-table th:nth-child(4),.filings-table td:nth-child(4){display:none}.filings-table .status-badge{padding:.2rem .35rem;font-size:.55rem}.actions-cell{gap:.15rem}.actions-cell .btn-icon{width:24px;height:24px}.comments-cell{max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay{padding:1rem .5rem .5rem}.modal-content{padding:1rem;border-radius:10px;max-height:calc(100vh - 2rem)}.modal-content h2{font-size:1.1rem}.form-row{flex-direction:column;gap:0}.form-row .form-group{flex:none;width:100%}.form-group{margin-bottom:.75rem}.form-group label{font-size:.85rem;margin-bottom:.35rem}.form-group input,.form-group textarea,.form-group select{padding:.6rem .75rem;font-size:16px}.modal-actions{flex-direction:column-reverse;gap:.5rem;margin-top:1rem}.modal-actions button{width:100%;padding:.75rem;min-height:44px}.detail-hero-title{font-size:1.35rem;line-height:1.3}.detail-hero-meta span{font-size:.75rem;padding:.3rem .5rem}.detail-hero-ai-text{font-size:.8rem}.section-header{padding:.75rem 1rem}.section-header h2{font-size:.9rem}.location-header{padding:.75rem 1rem;gap:.75rem}.location-header h2{font-size:1rem}.location-top-project{font-size:.7rem}.location-image{width:4rem;height:2.5rem}.project-header{padding:.75rem;gap:.5rem}.project-details h3{font-size:.9rem}.project-meta{font-size:.75rem;gap:.5rem}.grid-card-content{padding:.75rem 1rem}.grid-card-content h2{font-size:.9rem}.meta-badge{font-size:.6rem;padding:.25rem .5rem}.search-input,.status-filter{font-size:16px;padding:.6rem 2rem .6rem .75rem}.ai-summary-card{padding:1rem}.ai-summary-text{font-size:.85rem}.next-steps-callout{padding:.75rem 1rem}.next-steps-list li{font-size:.8rem}.detail-controls{flex-wrap:wrap}.detail-status-summary{flex-direction:column;align-items:stretch;gap:.5rem}.status-summary-total{height:36px;justify-content:center}.status-summary-total .total-count{font-size:1rem}.status-summary-total .total-label{font-size:.75rem}.status-pills-container{gap:.5rem}.status-pill{height:36px;padding:0 .75rem;font-size:.8rem;gap:.3rem}.status-pill-icon{width:16px;height:16px}.status-pill-icon svg{width:11px;height:11px}.status-pill-count{min-width:18px;height:18px;padding:0 5px;font-size:.7rem}.status-pill-label{max-width:100px}.auth-container{padding:1.5rem;margin:.5rem}.auth-container h1{font-size:1.25rem}.auth-container input{font-size:16px}}@media(max-width:375px){.main-content{padding:.5rem}.detail-hero{padding:1rem;margin-bottom:1rem;gap:1rem}.detail-hero-title{font-size:1.2rem}.detail-hero-image{height:140px}.detail-hero-ai{padding:.75rem;min-width:auto}.detail-hero-ai-text{font-size:.75rem}.detail-section,.location-card{margin-bottom:.75rem}.user-email{display:none}.user-account{border:none;padding:0}.modal-content{padding:.75rem}.form-group input,.form-group textarea,.form-group select{padding:.5rem .6rem}.detail-table{min-width:0;width:100%;font-size:.65rem}.detail-table th,.detail-table td{padding:.25rem .2rem;white-space:normal;word-break:break-word}.detail-table .comments-cell,.detail-table .duration-cell{display:none}.filings-table{min-width:0;width:100%;font-size:.65rem}.filings-table th,.filings-table td{padding:.25rem .2rem;white-space:normal;word-break:break-word}.overdue-badge,.next-steps-badge{padding:.25rem .5rem;font-size:.65rem}}@media(max-width:480px){.hide-on-mobile{display:none!important}}@media(min-width:481px){.show-on-mobile-only{display:none!important}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text:last-child{margin-bottom:0}.skeleton-text.sm{height:.75em}.skeleton-text.lg{height:1.5em}.skeleton-text.xl{height:2em}.skeleton-text.w-25{width:25%}.skeleton-text.w-50{width:50%}.skeleton-text.w-75{width:75%}.skeleton-text.w-full{width:100%}.skeleton-dark,.skeleton.skeleton-dark{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.detail-hero-ai-skeleton{flex:1}.skeleton-image{width:100%;height:160px;border-radius:0}.skeleton-circle{border-radius:50%}.skeleton-badge{display:inline-block;height:24px;width:60px;border-radius:4px}.skeleton-grid-card{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);overflow:hidden}.skeleton-grid-card .skeleton-image{height:160px}.skeleton-grid-card .skeleton-content{padding:1rem 1.25rem}.skeleton-grid-card .skeleton-badges{display:flex;gap:.5rem;margin-top:.5rem}.skeleton-grid-card .skeleton-summary{margin-top:.75rem}.skeleton-hero{display:flex;gap:1.25rem;background:var(--card-bg);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);align-items:center}.skeleton-hero .skeleton-hero-image{width:180px;height:120px;border-radius:8px;flex-shrink:0}.skeleton-hero .skeleton-hero-content{flex:1;min-width:0}.skeleton-hero .skeleton-hero-ai{flex:1.5;min-width:300px;height:100px;border-radius:8px;background:linear-gradient(90deg,var(--skeleton-header-base) 25%,var(--skeleton-header-shine) 50%,var(--skeleton-header-base) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-hero .skeleton-meta-badges{display:flex;gap:.4rem;margin-top:.5rem;flex-wrap:wrap}.skeleton-hero .skeleton-meta-badge{height:28px;width:80px;border-radius:4px}.skeleton-next-steps{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-left:4px solid var(--border-primary);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem}.skeleton-next-steps .skeleton-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.skeleton-next-steps .skeleton-list{padding-left:1.25rem}.skeleton-next-steps .skeleton-list-item{height:1em;margin-bottom:.4rem}.skeleton-section{background:var(--card-bg);border-radius:12px;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);overflow:hidden}.skeleton-section-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--card-header-bg)}.skeleton-section-header .skeleton{background:linear-gradient(90deg,var(--skeleton-header-base) 25%,var(--skeleton-header-shine) 50%,var(--skeleton-header-base) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-section-content{padding:1rem}.skeleton-table-row{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border-primary)}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-cell{flex:1}.skeleton-grid-next-steps{margin-top:.75rem;padding:.6rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-left:3px solid var(--border-secondary);border-radius:4px}.skeleton-grid-next-steps .skeleton-header{display:flex;align-items:center;gap:.35rem;margin-bottom:.4rem}@media(max-width:1000px){.skeleton-hero{flex-direction:column;gap:1rem;align-items:stretch}.skeleton-hero .skeleton-hero-image{width:100%;height:160px}.skeleton-hero .skeleton-hero-ai{min-width:auto}}.btn-theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease}.btn-theme-toggle:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.main-nav{display:flex;gap:.2rem;background:var(--bg-tertiary);padding:.2rem;border-radius:6px;border:1px solid var(--border-primary)}.nav-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;height:30px;min-width:85px;padding:0 .6rem;font-size:.8rem;font-weight:500;background:transparent;color:var(--text-tertiary);border:none;border-radius:5px;cursor:pointer;transition:all .2s}.nav-btn:hover{background:var(--bg-active);color:var(--text-secondary)}.nav-btn.active{background:var(--accent-primary);color:var(--accent-text)}.nav-btn svg,.nav-btn span{flex-shrink:0;pointer-events:none}.dashboard{width:100%;padding:2rem 2.5rem 3rem;max-width:1600px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-header h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.time-range-select{padding:.5rem 2rem .5rem .75rem;font-size:.9rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-input);color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-bottom:2rem}.dashboard-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;flex-shrink:0}.card-icon.pending{background:var(--status-warning-bg);color:var(--color-warning-dark)}.card-icon.approved{background:var(--status-success-bg);color:var(--color-success-dark)}.card-icon.overdue{background:var(--status-danger-bg);color:var(--color-danger)}.card-icon.rate{background:var(--status-info-bg);color:var(--status-info-text)}.card-content{display:flex;flex-direction:column}.card-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.card-label{font-size:.85rem;color:var(--text-tertiary);margin-top:.25rem}.dashboard-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background:var(--card-bg);border-radius:12px;padding:1.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);display:flex;flex-direction:column}.chart-card.full-width{grid-column:1 / -1;margin-top:1rem}.chart-card h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.bar-chart{display:flex;flex-direction:column;gap:.75rem}.bar-row{display:flex;align-items:center;gap:.75rem}.bar-label{width:140px;flex-shrink:0;font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-container{flex:1;display:flex;align-items:center;gap:.5rem}.bar{height:24px;border-radius:4px;min-width:4px;transition:width .3s ease}.bar-value{font-size:.8rem;font-weight:600;color:var(--text-tertiary);min-width:30px}.trend-chart{display:flex;flex-direction:column;gap:.75rem;flex:1}.trend-bars{display:flex;justify-content:space-around;align-items:flex-end;flex:1;min-height:150px;padding:0 .5rem}.trend-column{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;height:100%}.trend-bar-group{display:flex;gap:4px;align-items:flex-end;flex:1;min-height:120px}.trend-values{display:flex;gap:4px;font-size:.7rem;font-weight:600}.trend-value.filed{color:var(--color-info)}.trend-value.completed{color:var(--color-success)}.trend-bar{width:16px;border-radius:3px 3px 0 0;min-height:4px;transition:height .3s ease}.trend-bar.filed{background:var(--color-info)}.trend-bar.completed{background:var(--color-success)}.trend-label{font-size:.75rem;color:var(--text-tertiary)}.trend-legend{display:flex;justify-content:center;gap:1.5rem;font-size:.8rem;color:var(--text-tertiary)}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:middle}.legend-dot.filed{background:var(--color-info)}.legend-dot.completed{background:var(--color-success)}.dashboard-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem;margin-bottom:2rem}.alert-card{background:var(--card-bg);border-radius:12px;padding:1.75rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.alert-card.overdue{border-left:4px solid var(--color-danger)}.alert-card.upcoming{border-left:4px solid var(--color-warning)}.alert-card h3{display:flex;align-items:center;gap:.6rem;margin:0 0 1.25rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.alert-card.overdue h3 svg{color:var(--color-danger)}.alert-card.upcoming h3 svg{color:var(--color-warning)}.alert-list{list-style:none;margin:0;padding:0}.alert-item{display:flex;justify-content:space-between;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--border-primary)}.alert-item:last-child{border-bottom:none}.alert-item.clickable{cursor:pointer;margin:0 -.75rem;padding:.85rem .75rem;border-radius:8px}.alert-item.clickable:hover{background:var(--bg-hover)}.alert-item-main{display:flex;flex-direction:column;gap:.15rem;min-width:0}.alert-item-name{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-item-location{font-size:.75rem;color:var(--text-tertiary)}.alert-item-days{font-size:.8rem;font-weight:600;color:var(--color-danger);flex-shrink:0}.alert-item-days.upcoming{color:var(--color-warning)}.no-alerts{color:var(--text-tertiary);font-size:.9rem;text-align:center;padding:1rem 0}.location-performance{display:flex;flex-direction:column;gap:1rem}.location-row{display:flex;align-items:center;gap:1.25rem;padding:1rem 1.25rem;border-radius:10px;border:1px solid var(--border-primary);transition:all .2s}.location-row.clickable{cursor:pointer}.location-row.clickable:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.location-info{flex:1;min-width:0}.location-name{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-meta{font-size:.75rem;color:var(--text-tertiary)}.location-progress{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.progress-bar{width:120px;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-success);border-radius:4px;transition:width .3s ease}.progress-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);min-width:35px}.quick-actions-bar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1.25rem 1.5rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-primary)}.quick-action-btn{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s}.quick-action-btn:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.quick-action-btn.alert{background:var(--status-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}.quick-action-btn.alert:hover{background:var(--color-danger);color:#fff}.dashboard-summary-section{display:flex;gap:1.25rem;margin-bottom:2rem;align-items:stretch}.progress-ring-card{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary)}.progress-ring{transform:rotate(-90deg);flex-shrink:0}.progress-ring-bg{stroke:var(--bg-tertiary)}.progress-ring-fill{stroke:var(--color-success);transition:stroke-dashoffset .5s ease;stroke-linecap:round}.progress-ring-text{transform:rotate(90deg);transform-origin:center;font-size:1.25rem;font-weight:700;fill:var(--text-primary)}.progress-ring-label{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.progress-ring-label .label-main{font-size:.9rem;font-weight:600;color:var(--text-primary)}.progress-ring-label .label-sub{font-size:.75rem;color:var(--text-tertiary)}.dashboard-summary-section .dashboard-cards{flex:1;margin-bottom:0;grid-template-columns:repeat(4,1fr)}.card-value-row{display:flex;align-items:center;gap:.5rem}.trend-indicator{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem .4rem;font-size:.7rem;font-weight:600;border-radius:4px}.trend-indicator.up{background:var(--status-danger-bg);color:var(--color-danger)}.trend-indicator.down{background:var(--status-success-bg);color:var(--color-success)}.trend-indicator.neutral{background:var(--bg-tertiary);color:var(--text-tertiary)}.card-icon.velocity{background:#8b5cf626;color:#8b5cf6}.sparkline{flex-shrink:0}.priority-badge{display:inline-block;padding:.15rem .5rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:4px;flex-shrink:0}.priority-badge.priority-critical{background:var(--color-danger);color:#fff}.priority-badge.priority-high{background:#f97316;color:#fff}.priority-badge.priority-medium{background:var(--color-warning);color:#92400e}.priority-badge.priority-low{background:var(--bg-tertiary);color:var(--text-secondary)}.alert-item-header{display:flex;align-items:center;gap:.5rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;flex:1}.empty-state-icon{color:var(--text-muted);margin-bottom:.75rem;opacity:.6}.empty-state-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--text-secondary)}.empty-state-description{margin:0;font-size:.8rem;color:var(--text-tertiary);max-width:200px}.dashboard-analytics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem;margin-bottom:2.5rem}.borough-breakdown{display:flex;flex-direction:column;gap:1.5rem;flex:1}.borough-donut{position:relative;width:140px;height:140px;flex-shrink:0}.donut-chart{width:100%;height:100%}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-total{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.donut-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.borough-legend{display:flex;flex-direction:column;gap:.75rem;flex:1}.borough-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.borough-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.borough-name{flex:1;color:var(--text-secondary)}.borough-count{font-weight:600;color:var(--text-primary);min-width:30px;text-align:right}.borough-pct{color:var(--text-tertiary);min-width:35px;text-align:right}.borough-map{width:100%;height:180px;display:block;margin:0 auto}.borough-region path{transition:opacity .2s,filter .2s;cursor:pointer}.borough-region:hover path{opacity:.85;filter:brightness(1.15)}.borough-map-label{font-size:14px;font-weight:700;fill:#fff;text-anchor:middle;pointer-events:none;text-shadow:0 1px 3px rgba(0,0,0,.6)}.borough-breakdown-list{display:flex;flex-direction:column;gap:1rem;flex:1}.borough-list-item{display:flex;flex-direction:column;gap:.5rem}.borough-list-header{display:flex;align-items:center;gap:.5rem}.borough-list-header .borough-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.borough-list-header .borough-name{font-size:.85rem;font-weight:500;color:var(--text-primary);flex:1}.borough-project-count{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.borough-list-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.borough-list-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.borough-list-stats{display:flex;justify-content:space-between;font-size:.75rem}.borough-items{color:var(--text-muted)}.borough-completion{color:var(--text-secondary);font-weight:500}.filing-type-list{display:flex;flex-direction:column;gap:1rem}.filing-type-item{display:flex;flex-direction:column;gap:.35rem}.filing-type-header{display:flex;align-items:center;gap:.5rem}.filing-type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.filing-type-name{flex:1;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filing-type-count{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.filing-type-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.filing-type-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.filing-type-pct{font-size:.7rem;color:var(--text-tertiary)}.dashboard-header-actions{display:flex;align-items:center;gap:.75rem}@media(max-width:768px){.dashboard{padding:1.5rem 1.25rem 2rem}.dashboard-summary-section{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.dashboard-summary-section .dashboard-cards{grid-template-columns:repeat(2,1fr)}.progress-ring-card{flex-direction:row;min-width:100%;padding:1rem 1.25rem}.dashboard-charts,.dashboard-alerts{grid-template-columns:1fr;gap:1.25rem}.dashboard-analytics-row{grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.75rem}.chart-card{padding:1.25rem;min-height:280px}.alert-card{padding:1.25rem}.bar-label{width:100px}.progress-bar{width:80px}.borough-breakdown{flex-direction:column;align-items:stretch;gap:1.25rem}.borough-map{width:100%;height:180px}.borough-donut{width:120px;height:120px;align-self:center}.quick-actions-bar{padding:1rem;gap:.75rem;margin-bottom:1.5rem}.quick-action-btn{padding:.6rem 1rem;font-size:.85rem}}@media(max-width:480px){.dashboard{padding:1rem 1rem 1.5rem}.dashboard-header{flex-direction:column;gap:.75rem;align-items:flex-start;margin-bottom:1.25rem}.dashboard-cards{grid-template-columns:1fr;gap:.75rem}.dashboard-card{padding:1rem 1.25rem}.chart-card,.alert-card{padding:1rem}.trend-bar{width:12px}.quick-actions-bar{gap:.5rem;padding:.75rem}.quick-action-btn{flex:1;min-width:calc(50% - .25rem);justify-content:center}.progress-ring-card{flex-direction:column;padding:1rem}.progress-ring-label{align-items:center;text-align:center}.card-value-row{flex-wrap:wrap}.location-row{padding:.75rem 1rem}.alert-item-header{flex-wrap:wrap;gap:.25rem}.priority-badge{font-size:.6rem;padding:.1rem .35rem}}.main-content:has(.calendar-view){padding:0}.main-content:has(.search-page),.main-content:has(.public-search-page.in-app){padding:0;overflow:hidden;height:calc(100vh - 60px);max-height:calc(100vh - 60px)}.calendar-view{position:relative;width:100%;height:calc(100vh - 60px);display:flex;flex-direction:column;padding:0;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;flex-wrap:wrap;gap:1rem;flex-shrink:0}.calendar-title-row{display:flex;align-items:center;gap:1.5rem}.calendar-header h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-month-year{font-size:1.1rem;font-weight:600;min-width:160px;text-align:center;color:var(--text-primary)}.calendar-legend{display:flex;gap:1.5rem;font-size:.85rem;color:var(--text-tertiary)}.calendar-legend .legend-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.4rem;vertical-align:middle}.calendar-legend .legend-dot.overdue{background:var(--color-danger)}.calendar-legend .legend-dot.upcoming{background:var(--color-warning)}.calendar-legend .legend-dot.completed{background:var(--color-success)}.calendar-container{display:flex;flex-direction:column;flex:1;width:100%;min-height:0;overflow:hidden;padding:1rem;box-sizing:border-box}.calendar-grid{flex:4;background:var(--card-bg);border-radius:12px;padding:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);min-width:0;display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.35rem}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--text-tertiary);padding:.35rem}.calendar-weeks{display:flex;flex-direction:column;flex:1;gap:3px}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;flex:1}.calendar-day{padding:.35rem;border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;background:var(--card-bg);min-height:0}.calendar-day.empty{background:var(--bg-tertiary);cursor:default}.calendar-day:not(.empty):hover{border-color:var(--border-secondary);background:var(--bg-hover)}.calendar-day.today{background:var(--card-bg)}.calendar-day.selected{border-color:var(--accent-primary);border-width:2px;background:var(--bg-hover)}.calendar-day.has-overdue:not(.selected){border-left:4px solid var(--color-danger)}.calendar-day.has-upcoming:not(.selected):not(.has-overdue){border-left:4px solid var(--color-warning)}.calendar-day.has-completed:not(.selected):not(.has-overdue):not(.has-upcoming){border-left:4px solid var(--color-success)}.day-number{font-size:.8rem;font-weight:600;color:var(--text-primary);line-height:1}.calendar-day.today .day-number{font-weight:700}.day-indicators{display:flex;flex-direction:column;gap:1px;margin-top:2px;flex:1;overflow:hidden}.day-item{display:flex;align-items:center;gap:3px;padding:1px 3px;border-radius:2px;font-size:.6rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}.day-item.overdue{background:#dc26261f;color:var(--color-danger)}.day-item.upcoming{background:#f59e0b1f;color:var(--color-warning-dark)}.day-item.completed{background:#22c55e1f;color:var(--color-success-dark)}.day-item-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.day-item.overdue .day-item-dot{background:var(--color-danger)}.day-item.upcoming .day-item-dot{background:var(--color-warning)}.day-item.completed .day-item-dot{background:var(--color-success)}.day-more{font-size:.6rem;color:var(--text-tertiary);font-weight:600;padding:2px 4px}[data-theme=dark] .day-item.overdue{background:#ef444440}[data-theme=dark] .day-item.upcoming{background:#f59e0b40}[data-theme=dark] .day-item.completed{background:#22c55e40}[data-theme=dark] .calendar-day.today{background:var(--card-bg)}.calendar-details{flex:1;min-width:250px;max-width:300px;background:var(--card-bg);border-radius:12px;padding:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);overflow-y:auto}.calendar-details h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.calendar-items{list-style:none;margin:0;padding:0}.calendar-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;margin:0 -.75rem;border-radius:8px;cursor:pointer;transition:background .2s}.calendar-item:hover{background:var(--bg-hover)}.item-status-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0}.calendar-item.overdue .item-status-dot{background:var(--color-danger)}.calendar-item.upcoming .item-status-dot{background:var(--color-warning)}.calendar-item.completed .item-status-dot{background:var(--color-success)}.item-content{flex:1;min-width:0}.item-name{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-location{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:.15rem}.item-section{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.1rem}.item-status-badge{font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;flex-shrink:0}.item-status-badge.overdue{background:var(--status-danger-bg);color:var(--color-danger)}.item-status-badge.upcoming{background:var(--status-warning-bg);color:var(--color-warning-dark)}.item-status-badge.completed{background:var(--status-success-bg);color:var(--color-success-dark)}.no-items{color:var(--text-tertiary);font-size:.9rem;text-align:center;padding:1rem 0}@media(max-width:900px){.calendar-container{flex-direction:column}.calendar-grid{flex:none}.calendar-details{flex:none;width:100%;max-width:100%;max-height:40vh}}@media(max-width:600px){.calendar-day{min-height:45px;padding:.25rem}.day-number{font-size:.75rem}.day-item{font-size:.55rem;padding:1px 2px}.day-item-dot{width:4px;height:4px}.weekday{font-size:.7rem;padding:.25rem}.calendar-month-year{min-width:120px;font-size:1rem}}.notifications-container{position:relative}.btn-notifications{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .2s;position:relative}.btn-notifications:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-notifications.has-alerts{color:var(--text-primary)}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--color-danger);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notifications-panel{position:absolute;top:calc(100% + 8px);right:0;width:380px;background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);z-index:var(--z-notifications);overflow:hidden}.notifications-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-primary)}.notifications-tabs{display:flex;gap:.5rem}.tab-btn{padding:.5rem 1rem;font-size:.85rem;font-weight:500;background:transparent;color:var(--text-tertiary);border:none;border-radius:6px;cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.tab-btn.active{background:var(--accent-primary);color:var(--accent-text)}.notifications-content{max-height:400px;overflow-y:auto}.daily-digest{padding:1rem;background:var(--dark-card-bg);color:var(--dark-card-text)}.digest-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;opacity:.9;margin-bottom:.5rem}.digest-stats{display:flex;gap:.5rem;flex-wrap:wrap}.digest-stat{font-size:.8rem;font-weight:600;padding:.3rem .6rem;border-radius:4px}.digest-stat.overdue{background:#dc262633;color:var(--status-danger-text)}.digest-stat.urgent{background:#f59e0b33;color:var(--status-warning-text)}.digest-stat.upcoming{background:#6b728033;color:var(--status-info-text)}.dob-updates-section{padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.dob-updates-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dob-title{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.dob-title svg{color:var(--accent-primary)}.dob-badge{background:var(--accent-primary);color:#fff;font-size:.65rem;padding:.1rem .4rem;border-radius:10px;font-weight:600}.btn-check-dob{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.7rem;font-weight:500;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-check-dob:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.btn-check-dob:disabled{opacity:.6;cursor:not-allowed}.dob-last-check{display:block;font-size:.7rem;color:var(--text-muted);margin-top:.35rem}.alerts-list .alert-item.dob-alert{background:#3b82f60d}.alerts-list .alert-item.dob-alert .alert-icon{color:var(--accent-primary)}.alerts-list .alert-item.dob-alert.dob_violation .alert-icon{color:var(--color-danger)}.alerts-list .alert-item.dob-alert.dob_complaint .alert-icon{color:var(--color-warning)}.dob-badge-inline{display:inline-block;font-size:.6rem;font-weight:600;padding:.1rem .35rem;margin-left:.4rem;background:var(--accent-primary);color:#fff;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle}.dob-content{padding:0}.dob-header-section{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.dob-status{display:flex;align-items:center;gap:.75rem}.dob-status svg{color:var(--accent-primary)}.dob-status-info{display:flex;flex-direction:column;gap:.15rem}.dob-monitoring-label{font-size:.8rem;font-weight:600;color:var(--text-primary)}.dob-content .dob-last-check{display:block;font-size:.7rem;color:var(--text-muted);margin-top:0}.dob-description{font-size:.75rem;color:var(--text-secondary);padding:.75rem 1rem;margin:0;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.bin-lookup-section{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-warning-subtle, rgba(245, 158, 11, .1));border-bottom:1px solid var(--border-primary)}.bin-lookup-info{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-warning)}.bin-lookup-info svg{flex-shrink:0}.btn-lookup-bin{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.7rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-lookup-bin:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent-primary)}.btn-lookup-bin:disabled{opacity:.7;cursor:not-allowed}.bin-lookup-result{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.7rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.bin-result-success{color:var(--color-success);display:flex;align-items:center;gap:.25rem}.bin-result-failed{color:var(--text-muted)}.dob-alerts-list{max-height:280px;overflow-y:auto}.dob-no-alerts{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center}.dob-no-alerts svg{color:var(--accent-primary)}.alerts-list{list-style:none;margin:0;padding:0}.alerts-list .alert-item{display:flex;align-items:flex-start;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);transition:background .2s}.alerts-list .alert-item:last-child{border-bottom:none}.alerts-list .alert-item:hover{background:var(--bg-hover)}.alerts-list .alert-item.priority-high{border-left:3px solid var(--color-danger)}.alerts-list .alert-item.priority-medium{border-left:3px solid var(--color-warning)}.alerts-list .alert-item.priority-low{border-left:3px solid var(--color-info)}.alert-main{display:flex;align-items:flex-start;gap:.75rem;flex:1;cursor:pointer;min-width:0}.alert-icon{flex-shrink:0;margin-top:2px}.alerts-list .alert-item.overdue .alert-icon{color:var(--color-danger)}.alerts-list .alert-item.upcoming .alert-icon{color:var(--color-warning)}.alert-content{flex:1;min-width:0}.alert-title{display:block;font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-address{display:block;font-size:.75rem;color:var(--text-tertiary);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-message{display:block;font-size:.75rem;font-weight:600;margin-top:.2rem}.alert-date{display:block;font-size:.65rem;color:var(--text-muted);margin-top:.25rem}.alerts-list .alert-item.overdue .alert-message{color:var(--color-danger)}.alerts-list .alert-item.upcoming .alert-message{color:var(--color-warning-dark)}.btn-dismiss{flex-shrink:0;padding:.35rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .2s}.btn-dismiss:hover{background:var(--bg-active);color:var(--text-tertiary)}.notifications-content .no-alerts{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--text-tertiary)}.notifications-content .no-alerts svg{color:var(--color-success);margin-bottom:.75rem}.notifications-content .no-alerts p{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.notifications-content .no-alerts span{font-size:.85rem;color:var(--text-tertiary)}.ai-summary{padding:1rem;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-bottom:1px solid var(--border-primary)}.ai-summary-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-primary);margin-bottom:.5rem}.ai-summary-header svg{color:var(--color-primary)}.btn-refresh-ai{margin-left:auto;padding:.25rem;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .2s}.btn-refresh-ai:hover:not(:disabled){background:var(--bg-hover);color:var(--color-primary)}.btn-refresh-ai:disabled{opacity:.5;cursor:not-allowed}.btn-refresh-ai svg.spinning{animation:spin 1s linear infinite}.ai-summary-text{margin:0;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.alerts-list .alert-item.ai-alert{background:linear-gradient(90deg,rgba(99,102,241,.05) 0%,transparent 100%)}.alerts-list .alert-item.ai-alert:hover{background:linear-gradient(90deg,rgba(99,102,241,.1) 0%,var(--bg-hover) 100%)}.alerts-list .alert-item.ai-alert .alert-icon{color:var(--color-primary)}.alerts-list .alert-item.ai-alert.urgent .alert-icon,.alerts-list .alert-item.ai-alert.overdue .alert-icon{color:var(--color-danger)}.alerts-list .alert-item.ai-alert.action .alert-icon{color:var(--color-success)}.ai-badge{display:inline-flex;align-items:center;margin-left:.4rem;padding:.1rem .35rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff;border-radius:3px;vertical-align:middle}.notifications-settings{padding:1rem}.setting-group{margin-bottom:1.25rem}.setting-group:last-child{margin-bottom:0}.setting-group.indented{margin-left:2.5rem;margin-top:-.5rem}.setting-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer}.setting-toggle input{display:none}.toggle-slider{width:40px;height:22px;background:var(--border-primary);border-radius:11px;position:relative;transition:background .2s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--toggle-handle);border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.setting-toggle input:checked+.toggle-slider{background:var(--color-success)}.setting-toggle input:checked+.toggle-slider:after{transform:translate(18px)}.setting-label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.setting-desc{margin:.35rem 0 0 3.25rem;font-size:.8rem;color:var(--text-tertiary)}.setting-select-label{display:block;font-size:.85rem;color:var(--text-tertiary);margin-bottom:.35rem}.setting-select{width:100%;padding:.5rem 2rem .5rem .75rem;font-size:.9rem;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}@media(max-width:480px){.notifications-panel{width:calc(100vw - 2rem);right:-1rem}}.btn-profile{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:50%;cursor:pointer;transition:all .2s;color:var(--text-secondary);overflow:hidden}.btn-profile:hover{background:var(--bg-active);border-color:var(--border-secondary);color:var(--text-primary)}.header-profile-img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.profile-page{width:100%;max-width:600px;margin:2rem auto;padding:0 1rem}.profile-card{background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-primary);overflow:hidden;box-shadow:0 4px 24px #0000001f}.profile-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:2.5rem 1.5rem 1.5rem;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);border-bottom:1px solid var(--border-primary)}.profile-back-btn{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.profile-back-btn:hover{background:var(--bg-active);color:var(--text-primary)}.profile-avatar-wrapper{margin-bottom:1rem}.profile-avatar{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;cursor:pointer;border:3px solid var(--bg-secondary);box-shadow:0 4px 12px #00000026;transition:transform .2s,box-shadow .2s}.profile-avatar:hover{transform:scale(1.05);box-shadow:0 6px 20px #0003}.profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-avatar-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted)}.profile-avatar-edit{position:absolute;bottom:0;right:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);border-radius:50%;color:var(--accent-text);box-shadow:0 2px 8px #0003}.profile-name{margin:0;font-size:1.35rem;font-weight:600;color:var(--text-primary);text-align:center}.profile-title{margin:.25rem 0 0;font-size:.9rem;color:var(--text-muted);text-align:center}.profile-stats{display:flex;justify-content:center;gap:2rem;padding:1.25rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.profile-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.profile-stat-value{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.profile-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.profile-body{padding:1.5rem;display:flex;flex-direction:column;align-items:center}.profile-details-grid{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem}.profile-detail{display:flex;align-items:center;justify-content:center;gap:.875rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:10px;transition:background .2s;width:100%;max-width:320px}.profile-detail:hover{background:var(--bg-active)}.profile-detail-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);flex-shrink:0}.profile-detail-content{display:flex;flex-direction:column;min-width:0}.profile-detail-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.profile-detail-value{font-size:.95rem;color:var(--text-primary);word-break:break-word}.profile-edit-form{padding-top:.5rem;width:100%;max-width:400px}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-field{display:flex;flex-direction:column;gap:.4rem}.profile-field.full-width{grid-column:1 / -1}.profile-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.profile-field input{width:100%;padding:.7rem .875rem;font-size:.9rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s,background .2s}.profile-field input:focus{outline:none;border-color:var(--border-secondary);background:var(--bg-secondary)}.profile-field input::-moz-placeholder{color:var(--text-muted)}.profile-field input::placeholder{color:var(--text-muted)}.profile-field input.readonly{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.8}.profile-form-buttons{display:flex;gap:.75rem;margin-top:1.5rem}.profile-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s}.profile-btn.primary{flex:1;background:var(--accent-primary);border:none;color:var(--accent-text)}.profile-btn.primary:hover{opacity:.9}.profile-btn.secondary{flex:1;background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary)}.profile-btn.secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-btn.edit{width:100%;max-width:320px;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-primary)}.profile-btn.edit:hover{background:var(--bg-active);border-color:var(--border-secondary)}.profile-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-primary);display:flex;justify-content:center}.profile-btn.logout{width:100%;max-width:320px;background:transparent;border:1px solid var(--color-danger);color:var(--color-danger)}.profile-btn.logout:hover{background:var(--color-danger);color:#fff}@media(max-width:480px){.profile-page{margin:1rem auto;padding:0 .75rem}.profile-hero{padding:2rem 1rem 1.25rem}.profile-avatar{width:88px;height:88px}.profile-name{font-size:1.2rem}.profile-body{padding:1.25rem}.profile-form-grid{grid-template-columns:1fr}.profile-field.full-width{grid-column:1}.profile-footer{padding:1rem 1.25rem 1.25rem}}.project-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.project-title-row h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.project-mpp-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);white-space:nowrap}.project-summary-stats{display:flex;align-items:center;gap:.75rem;margin-right:auto;padding-left:1rem}.project-stat-group{display:flex;flex-direction:column;align-items:center;padding:.35rem .6rem;background:var(--bg-tertiary);border-radius:6px;min-width:50px}.project-stat-group .stat-label{font-size:.65rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.project-stat-group .stat-value{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1.2}.project-stat-group.approved{background:#05966926}.project-stat-group.approved .stat-label,.project-stat-group.approved .stat-value{color:var(--color-success-dark)}.project-stat-group.pending{background:#d9770626}.project-stat-group.pending .stat-label,.project-stat-group.pending .stat-value{color:var(--color-warning-dark)}.project-stat-group.denied{background:#dc262626}.project-stat-group.denied .stat-label,.project-stat-group.denied .stat-value{color:var(--color-danger)}.project-job-types{display:flex;flex-wrap:wrap;gap:.35rem;max-width:200px;margin-right:1rem}.job-type-chip{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:500;background:var(--bg-hover);border-radius:4px;color:var(--text-secondary);white-space:nowrap}.job-type-chip.more{background:var(--bg-tertiary);color:var(--text-muted)}.project-card .project-header{display:flex;align-items:center;padding:1rem 1.25rem;gap:1rem}.project-card .project-info{display:flex;align-items:flex-start;gap:.75rem;min-width:250px;flex-shrink:0}.project-card .project-details{display:flex;flex-direction:column}.project-card .project-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.project-card .project-meta .type{font-weight:500;color:var(--text-secondary)}.project-card .project-meta .description{color:var(--text-muted)}.project-status-summary{display:none}@media(max-width:900px){.project-summary-stats{gap:.5rem;padding-left:.5rem}.project-stat-group{padding:.25rem .4rem;min-width:42px}.project-stat-group .stat-value{font-size:1rem}.project-job-types{display:none}.project-card .project-info{min-width:180px}}@media(max-width:600px){.project-card .project-header{flex-wrap:wrap;padding:.75rem}.project-card .project-info{min-width:100%;flex:1}.project-summary-stats{padding-left:1.5rem;margin-right:0;flex:1}.project-title-row{flex-wrap:wrap;gap:.5rem}}@media(max-width:480px){.calendar-legend{display:none}.calendar-title-row{flex-direction:column;align-items:flex-start;gap:.5rem}.calendar-header h1{font-size:1.5rem}}@media(max-width:375px){.calendar-day{min-height:50px;aspect-ratio:auto}.day-indicators{display:none}.day-number{font-size:.75rem}.calendar-grid{padding:.5rem}}.mobile-menu-header,.mobile-menu-footer,.mobile-nav-divider{display:none}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s;flex-shrink:0;position:relative}.mobile-menu-btn:hover{background:var(--bg-hover)}.mobile-menu-overlay{display:none}@media(max-width:768px){.mobile-menu-btn{display:flex;order:10}.mobile-menu-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:var(--z-mobile-overlay);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-nav{position:fixed;top:0;right:0;width:280px;max-width:85vw;bottom:0;background:var(--bg-secondary);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:1.5rem;gap:.5rem;z-index:var(--z-mobile-nav);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;border:none;border-radius:0;box-shadow:-4px 0 20px #00000026}.main-nav.mobile-open{transform:translate(0)}.mobile-menu-header{display:block;margin-bottom:.5rem}.mobile-profile-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:10px;color:var(--text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.mobile-profile-btn:hover{background:var(--bg-hover)}.mobile-profile-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-text)}.mobile-profile-img{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.mobile-profile-placeholder{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.mobile-nav-divider{display:block;height:1px;background:var(--border-primary);margin:.5rem 0}.mobile-menu-footer{display:flex;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:.5rem}.mobile-action-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:1px solid var(--border-primary);border-radius:10px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s}.mobile-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.mobile-action-btn svg{flex-shrink:0}.nav-btn{width:100%;height:52px;padding:0 1.25rem;font-size:1rem;justify-content:flex-start;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-primary)}.nav-btn:hover{background:var(--bg-hover)}.nav-btn.active{background:var(--accent-primary);border-color:var(--accent-primary)}.nav-btn svg{width:20px;height:20px;margin-right:.75rem;flex-shrink:0}.nav-btn span:not(.sr-only){display:inline!important}.app-header{flex-wrap:nowrap;justify-content:space-between;padding:.75rem 1rem;gap:.75rem}.header-content{flex:1;justify-content:flex-start;flex-wrap:nowrap;min-width:0}.header-content h1,.header-stats-row,.header-actions{display:none}}@media(max-width:480px){.app-header{padding:.5rem .75rem;gap:.5rem}.mobile-menu-btn{width:36px;height:36px;min-width:36px;min-height:36px}.mobile-menu-btn svg{width:20px;height:20px}.header-logo{width:28px;height:28px}.nav-btn{height:48px;font-size:.95rem}}@media(max-width:375px){.app-header{padding:.5rem;gap:.35rem}.header-logo{width:24px;height:24px}.mobile-menu-btn{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:6px}}@media(max-width:768px){.calendar-header{flex-direction:column;align-items:stretch;gap:.75rem}.calendar-title-row{flex-wrap:wrap;gap:.75rem}.calendar-header h1{font-size:1.25rem;width:100%}.calendar-legend{flex-wrap:wrap;gap:.75rem;font-size:.75rem}.calendar-grid{padding:.75rem}.calendar-details{border-radius:8px}}@media(max-width:480px){.calendar-header h1{font-size:1.1rem}.calendar-nav button{width:36px;height:36px;min-width:36px}.calendar-month-year{font-size:.9rem;min-width:100px}.calendar-legend{gap:.5rem;font-size:.7rem}.calendar-legend .legend-dot{width:10px;height:10px}.calendar-day{min-height:50px;padding:.2rem;border-radius:4px}.day-number{font-size:.75rem}.day-item{font-size:.55rem;padding:1px 2px}.weekday{font-size:.6rem;padding:.2rem}.weekday:first-letter{font-weight:700}}@media(max-width:768px){.notifications-panel{width:320px;max-width:calc(100vw - 1rem)}.notifications-content{max-height:350px}.alert-item{padding:.75rem}.alert-content{font-size:.85rem}}@media(max-width:480px){.notifications-panel{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:70vh;border-radius:16px 16px 0 0;z-index:var(--z-mobile-nav)}.notifications-content{max-height:calc(70vh - 60px)}.tab-btn{padding:.5rem .75rem;font-size:.8rem}.daily-digest{padding:.75rem}.digest-stats{gap:.35rem}.digest-stat{font-size:.75rem;padding:.25rem .5rem}}@media(max-width:768px){.dashboard-header{flex-direction:column;align-items:stretch;gap:.75rem}.dashboard-header h1{font-size:1.25rem}.dashboard-cards{grid-template-columns:repeat(2,1fr);gap:.75rem}.dashboard-charts{grid-template-columns:1fr}}@media(max-width:480px){.dashboard-cards{grid-template-columns:1fr}.dashboard-card{padding:1rem}.dashboard-card .card-value{font-size:1.5rem}}@media(max-width:480px){.locations-grid{gap:.75rem}.location-grid-card{border-radius:8px}.location-grid-card.clickable{height:auto;min-height:220px}.grid-card-image{height:80px}.grid-card-content{padding:.625rem .875rem}.grid-card-content h2{font-size:.85rem;margin-bottom:.375rem}.grid-card-project{padding:.5rem .625rem}.project-client{font-size:.8rem}.project-description{font-size:.7rem;-webkit-line-clamp:1}.project-stats{gap:.5rem}.project-stat{font-size:.65rem}}@media(max-width:480px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-height:90vh;border-radius:16px 16px 0 0;padding:1.25rem}.modal-content h2{font-size:1.1rem}.form-group label{font-size:.85rem}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:.75rem}}@media(max-width:480px){.detail-hero{gap:.75rem}.detail-hero-image{height:160px;border-radius:8px}.detail-title h1{font-size:1.25rem}.sheet-tabs{padding:.5rem;gap:.25rem}.sheet-tab{padding:.6rem .75rem;font-size:.8rem}.section-header{padding:.75rem}.section-header h4{font-size:.9rem}.detail-status-filters{flex-direction:column;align-items:flex-start;gap:.5rem}.status-filter-chips{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}.status-chip{flex-shrink:0}}@media(max-width:768px){.btn-primary,.btn-secondary,.btn-danger,.btn-back,.nav-btn,.sheet-tab,.view-toggle-btn{min-height:44px}button,.nav-btn,.sheet-tab,.view-toggle-btn{-webkit-user-select:none;-moz-user-select:none;user-select:none}.main-content,.calendar-details,.notifications-content,.map-sidebar-list{-webkit-overflow-scrolling:touch}.filters{gap:.75rem}.status-filter{min-width:150px}button:active,.nav-btn:active,.sheet-tab:active{transform:scale(.98)}}@media(max-width:480px){.filters{gap:.5rem}.search-input{font-size:16px;padding:.65rem 2.5rem .65rem .85rem}.status-filter{width:100%;min-width:0;font-size:16px}.view-toggle{flex-shrink:0}.stats-row{flex-direction:column;align-items:stretch;gap:.5rem}.stats{text-align:center}.quick-links-dropdown{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;width:auto;min-width:0;max-height:70vh;overflow-y:auto;border-radius:12px;grid-template-columns:1fr}.quick-links-category:nth-child(2),.quick-links-category:nth-child(4){border-right:none}.quick-links-category:nth-child(2),.quick-links-category:nth-child(3),.quick-links-category:nth-child(4){border-bottom:1px solid var(--border-primary)}.btn-quick-links .quick-links-label{display:none}.btn-quick-links{padding:.6rem}.search-container{flex-wrap:nowrap;min-width:100%}.search-container .search-input{flex:1;min-width:0}.search-lookups{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);gap:.25rem}.btn-lookup{padding:.35rem .5rem;font-size:.65rem}.search-container:has(.search-lookups) .search-input{padding-right:5rem}.search-container:has(.search-lookups:has(.btn-lookup+.btn-lookup)) .search-input{padding-right:8rem}}@media(max-width:768px){.btn-icon,.btn-edit,.btn-edit-small,.btn-delete,.btn-delete-project,.btn-close,.expand-toggle,.btn-add-filing,.btn-add-project,.calendar-nav button,.modal-close-btn,.btn-notifications,.header-actions .btn-icon{min-width:44px;min-height:44px}.btn-notifications,.header-actions .btn-icon,.profile-detail-icon{width:44px;height:44px}.profile-detail-icon svg{width:20px;height:20px}.project-actions{gap:.5rem}.modal-actions{gap:.75rem}.actions-cell button,.project-header-actions button{min-width:44px;min-height:44px;padding:.5rem}}@media(max-width:480px){.mobile-menu-btn{width:44px;height:44px;min-width:44px;min-height:44px}}@media(max-width:768px){.section-content{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch}.detail-table{min-width:600px}.detail-table td{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filings-table{min-width:500px}}@media(max-width:480px){.detail-table{min-width:400px;font-size:.7rem}.detail-table th,.detail-table td{padding:.3rem .2rem}.detail-table td{max-width:100px;overflow:hidden;text-overflow:ellipsis}.filings-table{min-width:350px;font-size:.7rem}.filings-table th,.filings-table td{padding:.35rem .25rem}}@media(max-width:375px){.detail-table{min-width:0;width:100%;font-size:.65rem}.detail-table th,.detail-table td{padding:.25rem .15rem;white-space:normal;word-break:break-word}.detail-table .comments-cell,.detail-table .duration-cell{display:none}.filings-table{min-width:0;width:100%;font-size:.65rem}.filings-table th,.filings-table td{padding:.25rem .15rem;white-space:normal;word-break:break-word}}@media(max-width:375px){.dashboard{padding:.75rem}.dashboard-header{margin-bottom:1rem}.dashboard-header h1{font-size:1.25rem}.time-range-select{font-size:16px;padding:.5rem 2rem .5rem .75rem}.progress-ring-card{flex-direction:column;padding:1rem;gap:.75rem;align-items:center}.progress-ring-label{text-align:center}.progress-ring-label .label-main{font-size:.9rem}.progress-ring-label .label-sub{font-size:.75rem}.dashboard-summary-section .dashboard-cards{grid-template-columns:1fr;gap:.5rem}.dashboard-card{padding:.75rem 1rem}.card-icon{width:36px;height:36px}.card-icon svg{width:18px;height:18px}.card-value{font-size:1.35rem}.card-label{font-size:.75rem}.borough-map{height:200px;min-height:200px}.borough-map-label{font-size:.65rem}.bar-chart{padding:.5rem 0}.bar-row{flex-direction:column;align-items:stretch;gap:.25rem;margin-bottom:.75rem}.bar-label{width:100%;font-size:.75rem;text-align:left;margin-bottom:.15rem}.bar-container{width:100%}.bar-value{font-size:.7rem;min-width:30px}.trend-column{min-width:35px}.trend-label{font-size:.6rem}.trend-value{font-size:.55rem}.alert-card{padding:.75rem}.alert-card h3{font-size:.9rem;gap:.35rem}.alert-item{padding:.6rem 0}.alert-item-name{font-size:.8rem}.alert-item-location{font-size:.7rem}.alert-item-days{font-size:.7rem;min-width:60px}.location-row{flex-direction:column;gap:.5rem;padding:.6rem .75rem}.location-info{width:100%}.location-name{font-size:.8rem}.location-meta{font-size:.7rem}.location-progress{width:100%;flex-direction:row;gap:.5rem}.progress-bar{flex:1}.progress-label{min-width:35px;font-size:.75rem}.chart-card{padding:1rem}.chart-card h3{font-size:.95rem;margin-bottom:.75rem}.filing-type-item{padding:.5rem 0}.filing-type-name{font-size:.75rem}}@media(max-width:375px){.calendar-view{padding:0;height:calc(100vh - 60px)}.calendar-header{gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.calendar-header h1{font-size:1rem;width:100%}.calendar-nav{width:100%;justify-content:space-between}.calendar-nav button{min-width:44px;min-height:44px;padding:.5rem}.calendar-month-year{font-size:.85rem;min-width:100px}.calendar-container{flex-direction:column;gap:.75rem}.calendar-grid{padding:.5rem;min-height:280px}.calendar-weekdays{margin-bottom:.25rem}.weekday{font-size:.55rem;padding:.2rem}.calendar-week{gap:2px}.calendar-day{min-height:40px;padding:.15rem;border-radius:4px}.day-number{font-size:.7rem}.day-indicators{display:none}.calendar-day.has-overdue:not(.selected){border-left-width:3px;background:#dc262614}.calendar-day.has-upcoming:not(.selected):not(.has-overdue){border-left-width:3px;background:#f59e0b14}.calendar-day.has-completed:not(.selected):not(.has-overdue):not(.has-upcoming){border-left-width:3px;background:#22c55e14}.calendar-details{width:100%;max-width:100%;min-width:auto;max-height:45vh;border-radius:12px;padding:.75rem}.calendar-details h3{font-size:.9rem;margin-bottom:.75rem}.calendar-item{padding:.6rem;gap:.5rem}.item-status-dot{width:8px;height:8px;margin-top:3px}.item-name{font-size:.8rem}.item-location{font-size:.7rem}.item-section{font-size:.65rem}.item-status-badge{font-size:.65rem;padding:.15rem .4rem}.calendar-legend{flex-wrap:wrap;gap:.5rem;padding:.5rem}.legend-item{font-size:.65rem}}@media(max-width:375px){.locations-grid{grid-template-columns:1fr;gap:.6rem}.location-grid-card{border-radius:10px}.location-grid-card.clickable{height:auto;min-height:200px}.grid-card-image{height:75px}.grid-card-content{padding:.5rem .75rem}.grid-card-content h2{font-size:.8rem;line-height:1.3;margin-bottom:.3rem}.grid-card-project{padding:.5rem}.grid-card-project-header{margin-bottom:.25rem}.project-client{font-size:.75rem}.project-type{font-size:.6rem;padding:.15rem .4rem}.project-description{font-size:.7rem;margin-bottom:.35rem;-webkit-line-clamp:1}.project-stats{gap:.4rem}.project-stat{font-size:.6rem;gap:.2rem}.project-stat svg{width:10px;height:10px}.grid-card-meta{gap:.35rem;flex-wrap:wrap}.meta-badge{font-size:.55rem;padding:.2rem .4rem}.grid-card-summary{font-size:.75rem;-webkit-line-clamp:2}.grid-card-next-steps{padding:.5rem .6rem;margin-top:.5rem}.grid-card-next-steps-header{font-size:.65rem;gap:.25rem}.grid-card-next-steps-list{padding-left:.75rem}.grid-card-next-steps-list li{font-size:.7rem}.overdue-badge,.next-steps-badge{padding:.25rem .5rem;font-size:.65rem;top:.5rem;right:.5rem}.overdue-badge svg,.next-steps-badge svg{width:12px;height:12px}.location-image{width:3.5rem;height:2.1rem;flex-shrink:0}.location-header{padding:.6rem .75rem;gap:.5rem}.location-header h2{font-size:.9rem}.location-top-project{font-size:.65rem}.expand-icon{width:18px;height:18px}.expand-icon svg{width:10px;height:10px}.filters{flex-direction:column;gap:.4rem}.search-input,.status-filter{width:100%}.view-toggle{width:100%;justify-content:center}}@media(max-width:320px){.locations-grid{padding:0 .25rem}.location-grid-card.clickable{height:auto;min-height:180px}.grid-card-image{height:65px}.grid-card-content{padding:.4rem .6rem}.grid-card-content h2{font-size:.75rem;margin-bottom:.25rem}.grid-card-project{padding:.4rem}.project-client{font-size:.7rem}.project-description{display:none}.project-stat{font-size:.55rem}.location-image{width:3rem;height:1.8rem}.location-header h2{font-size:.85rem}}@media(max-width:375px){.profile-page{margin:.5rem;padding:0 .5rem}.profile-card{border-radius:12px}.profile-hero{padding:1.5rem 1rem 1rem}.profile-back-btn{top:.75rem;left:.75rem;width:40px;height:40px}.profile-avatar{width:72px;height:72px}.profile-avatar-edit{width:24px;height:24px}.profile-avatar-edit svg{width:12px;height:12px}.profile-name{font-size:1.1rem;margin-top:.75rem}.profile-title{font-size:.8rem}.profile-stats{flex-direction:column;gap:.5rem;padding:1rem}.profile-stat{flex-direction:row;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-primary)}.profile-stat:last-child{border-bottom:none}.profile-stat-value{font-size:1.25rem;order:2}.profile-stat-label{font-size:.8rem;order:1}.profile-details-grid{gap:.5rem}.profile-detail{padding:.75rem}.profile-detail-icon{width:36px;height:36px}.profile-detail-label{font-size:.7rem}.profile-detail-value{font-size:.85rem}.profile-body{padding:1rem}.profile-field label{font-size:.75rem;margin-bottom:.35rem}.profile-field input{padding:.65rem .75rem;font-size:16px}.profile-form-buttons{flex-direction:column;gap:.5rem}.profile-form-buttons button{width:100%;min-height:44px}.profile-btn{min-height:44px;font-size:.9rem}.profile-footer{padding:.75rem 1rem 1rem}}@media(max-width:320px){.profile-page{margin:.25rem;padding:0 .25rem}.profile-card{border-radius:8px}.profile-hero{padding:1.25rem .75rem .75rem}.profile-avatar{width:64px;height:64px}.profile-name{font-size:1rem}.profile-title{font-size:.75rem}.profile-stats,.profile-body{padding:.75rem}.profile-detail{padding:.6rem .75rem;gap:.5rem}.profile-detail-icon{width:32px;height:32px}.profile-detail-icon svg{width:14px;height:14px}.profile-detail-value{font-size:.8rem}.profile-field input{padding:.6rem .65rem}}@media(max-width:480px){.auth-page{padding:1rem}.auth-container{max-width:100%;margin:0;padding:1.25rem;border-radius:12px}.auth-brand{margin-bottom:1.5rem}.auth-brand h1{font-size:1.8rem}.auth-logo{width:36px;height:36px}.auth-container input{font-size:16px;padding:.75rem}.auth-btn{padding:.85rem;min-height:48px;font-size:1rem}.auth-error{font-size:.85rem;padding:.75rem}}@media(max-width:375px){.auth-page{padding:.75rem}.auth-container{padding:1rem}.auth-brand h1{font-size:1.5rem}.auth-container .form-group{margin-bottom:1rem}.auth-container label{font-size:.8rem}}@media(max-width:480px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{width:100%;max-width:100%;max-height:85vh;border-radius:16px 16px 0 0;padding:1.25rem;animation:slideUpModal .3s ease-out}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-content h2{font-size:1.15rem;padding-right:2rem}.modal-close-btn{position:absolute;top:1rem;right:1rem;width:36px;height:36px;min-width:36px}.modal-large{max-height:90vh}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{font-size:16px;padding:.65rem .75rem}}@media(max-width:375px){.modal-content{padding:1rem;max-height:88vh}.modal-content h2{font-size:1.05rem}.form-group{margin-bottom:.65rem}.form-group label{font-size:.8rem}.modal-actions{flex-direction:column-reverse;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.modal-actions button{width:100%;min-height:44px}}@media(max-width:480px){.notifications-panel{position:fixed;inset:auto 0 0;width:100%;max-width:100%;max-height:75vh;border-radius:16px 16px 0 0;z-index:var(--z-mobile-nav);animation:slideUpModal .3s ease-out}.notifications-header{padding:1rem;border-bottom:1px solid var(--border-primary)}.notifications-tabs{width:100%;justify-content:space-around}.tab-btn{flex:1;text-align:center;padding:.6rem .5rem;font-size:.85rem}.notifications-content{max-height:calc(75vh - 120px);padding-bottom:env(safe-area-inset-bottom)}.daily-digest{padding:1rem}.digest-stats{gap:.5rem;flex-wrap:wrap}.digest-stat{flex:1;min-width:calc(33% - .5rem);text-align:center;padding:.4rem .5rem;font-size:.75rem}.alert-item{padding:1rem}.alert-content{font-size:.85rem}.alert-time{font-size:.7rem}}@media(max-width:375px){.notifications-panel{max-height:80vh}.tab-btn{font-size:.8rem;padding:.5rem .4rem}.digest-stat{font-size:.7rem;padding:.35rem .4rem}.notifications-content{max-height:calc(80vh - 110px)}}@media(max-width:768px){input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=url],input[type=search],select,textarea,.search-input,.filters .search-input,.map-view-header .search-input,.status-filter,.phase-filter,.time-range-select{min-height:44px}}@media(max-width:768px){.toggle-container{min-width:52px;min-height:32px}.settings-toggle{min-height:56px;padding:.875rem 1rem}.btn-settings{min-width:44px;min-height:44px}.btn-theme-toggle,.btn-profile{width:44px;height:44px;min-width:44px;min-height:44px}}@media(max-width:480px){.settings-modal{max-width:calc(100vw - 2rem);margin:1rem}.modal-close-btn{min-width:44px;min-height:44px}.toggle-container{width:56px;height:32px}.toggle-handle{width:26px;height:26px}.settings-toggle-label{font-size:.9rem}}@supports (padding: env(safe-area-inset-bottom)){@media(max-width:480px){.app-header{padding-top:env(safe-area-inset-top)}.modal-content{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.notifications-panel{padding-bottom:env(safe-area-inset-bottom)}}}.contacts-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;margin-top:1.5rem;overflow:hidden}.contacts-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .15s ease;border-bottom:1px solid transparent}.contacts-header:hover{background:var(--bg-tertiary)}.contacts-header-left{display:flex;align-items:center;gap:.5rem}.contacts-expand-icon{display:flex;align-items:center;justify-content:center;transition:transform .2s ease;color:var(--text-muted)}.contacts-expand-icon.expanded{transform:rotate(90deg)}.contacts-title-text h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary)}.contacts-header-right{display:flex;align-items:center;gap:.5rem}.contacts-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--bg-tertiary);border-radius:10px;font-size:.7rem;font-weight:600;color:var(--text-secondary)}.btn-add-contact{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:var(--accent-primary);color:var(--accent-text);border:none;border-radius:5px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-add-contact:hover{opacity:.9}.contacts-body{padding:0;overflow:hidden}.contacts-list{display:flex;flex-direction:column}.contact-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);transition:background-color .15s ease}.contact-row:last-child{border-bottom:none}.contact-row:hover,.contact-row.editing{background:var(--bg-tertiary)}.contact-main{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.contact-name{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.contact-role{font-size:.75rem;color:var(--text-muted);padding:.15rem .5rem;background:var(--bg-primary);border-radius:4px;white-space:nowrap}.contact-company{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-info{display:flex;align-items:center;gap:1rem;flex-shrink:0}.contact-link{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);text-decoration:none;transition:color .15s ease;white-space:nowrap}.contact-link:hover{color:var(--accent-primary)}.contact-link svg{color:var(--text-muted);flex-shrink:0}.contact-notes-inline{font-size:.75rem;color:var(--text-muted);font-style:italic;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease}.contact-row:hover .contact-actions{opacity:1}.contact-actions .btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:5px;cursor:pointer;transition:all .15s ease;color:var(--text-muted);background:transparent}.contact-actions .btn-icon:hover{background:var(--bg-primary);color:var(--text-primary)}.contact-actions .btn-delete:hover{background:var(--color-danger-bg);color:var(--color-danger)}.contact-form{background:var(--bg-tertiary);padding:1rem;border-bottom:1px solid var(--border-primary)}.contact-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:.75rem}.contact-form-row:last-of-type{margin-bottom:0}.contact-form .form-group{margin-bottom:0}.contact-form .form-group label{display:block;font-size:.7rem;font-weight:500;color:var(--text-muted);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.03em}.contact-form .form-group input,.contact-form .form-group select{width:100%;padding:.5rem .6rem;font-size:.8rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:5px;color:var(--text-primary);transition:border-color .15s ease}.contact-form .form-group input:focus,.contact-form .form-group select:focus{outline:none;border-color:var(--border-secondary)}.contact-form .form-group input::-moz-placeholder{color:var(--text-muted)}.contact-form .form-group input::placeholder{color:var(--text-muted)}.contact-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-primary)}.contact-form-actions .btn-secondary{padding:.4rem .75rem;font-size:.75rem;background:transparent;border:1px solid var(--border-primary);border-radius:5px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.contact-form-actions .btn-secondary:hover{background:var(--bg-primary);color:var(--text-primary)}.contact-form-actions .btn-primary{padding:.4rem .75rem;font-size:.75rem;background:var(--accent-primary);border:none;border-radius:5px;color:var(--accent-text);cursor:pointer;transition:all .15s ease}.contact-form-actions .btn-primary:hover{opacity:.9}.contacts-empty{text-align:center;padding:1.5rem;color:var(--text-muted)}.contacts-empty p{margin:0;font-size:.85rem}.form-section-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;margin-bottom:1rem;margin-top:1.5rem;border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-weight:600;font-size:.9rem}.form-section-header svg{color:var(--text-muted)}.form-section-header h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.form-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:768px){.form-row-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.form-row-4{grid-template-columns:1fr}}.input-with-prefix{position:relative;display:flex;align-items:center}.input-with-prefix .input-prefix{position:absolute;left:.75rem;color:var(--text-muted);font-weight:500;pointer-events:none}.input-with-prefix input{padding-left:1.5rem}.cost-total{display:flex;justify-content:center;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:8px;font-size:1rem;font-weight:600;color:var(--color-success);height:42px}.cost-total-label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.cost-total-value{font-size:1.1rem;font-weight:700;color:var(--color-success)}.btn-upload{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px dashed var(--border-primary);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s ease}.btn-upload:hover{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.upload-hint{font-size:.75rem;color:var(--text-muted);text-align:center}.modal-content .attachments-section{margin-top:0}.modal-content .attachments-list{margin-top:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.modal-content .attachment-item{display:flex;align-items:center;padding:.35rem .5rem;background:var(--bg-tertiary);border-radius:6px;margin-bottom:0;gap:.4rem}.modal-content .attachment-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.modal-content .attachment-icon svg{width:14px;height:14px}.modal-content .attachment-info{display:flex;flex-direction:row;align-items:center;gap:.35rem;min-width:0}.modal-content .attachment-name{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.modal-content .attachment-size{font-size:.65rem;color:var(--text-muted)}.modal-content .attachment-actions{display:flex;gap:.15rem}.btn-icon-small{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;cursor:pointer;background:transparent;color:var(--text-muted);transition:all .15s ease}.btn-icon-small svg{width:12px;height:12px}.btn-icon-small:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-icon-small.danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.attachments-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary);display:flex;flex-direction:row;align-items:flex-start;gap:1rem}.attachments-header{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;color:var(--text-secondary);font-weight:600;font-size:.9rem;white-space:nowrap;flex-shrink:0}.attachments-header svg{color:var(--text-muted)}.attachments-content{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap;flex:1}.attachments-upload{margin-bottom:1rem}.upload-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px dashed var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s ease;width:100%;justify-content:center}.upload-btn:hover{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.attachments-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.attachment-item{display:flex;align-items:center;padding:.4rem .6rem;background:var(--bg-tertiary);border-radius:6px;gap:.5rem;font-size:.8rem}.attachment-info{display:flex;align-items:center;gap:.35rem;min-width:0}.attachment-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.attachment-icon svg{width:14px;height:14px}.attachment-details{flex:1;min-width:0}.attachment-name{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.attachment-actions{display:flex;gap:.15rem}.attachment-actions button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease;color:var(--text-muted);background:transparent}.attachment-actions button svg{width:12px;height:12px}.attachment-actions button:hover{background:var(--bg-secondary);color:var(--text-primary)}.attachment-actions button.btn-delete:hover{background:var(--color-danger-bg);color:var(--color-danger)}.attachments-empty{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.85rem}@media(max-width:768px){.contact-form-row{grid-template-columns:1fr 1fr}.contact-row{flex-wrap:wrap;gap:.5rem}.contact-main{flex-wrap:wrap;width:100%}.contact-info{width:100%;padding-left:0}.contact-notes-inline{display:none}.contact-actions{opacity:1;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.contact-row{position:relative;padding-right:4rem}}@media(max-width:480px){.contact-form-row{grid-template-columns:1fr}.contact-info{flex-direction:column;align-items:flex-start;gap:.35rem}.attachment-item{padding:.5rem}.attachment-icon{width:32px;height:32px}.attachment-name{font-size:.8rem}}.project-detail-v2{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:2rem}.pd-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.pd-back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pd-back-btn:hover{background:var(--bg-active);border-color:var(--border-secondary);color:var(--text-primary)}.pd-actions{display:flex;gap:.5rem}.pd-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pd-action-btn:hover{background:var(--bg-active);border-color:var(--border-secondary)}.pd-hero-compact{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-primary);overflow:hidden;position:relative}.pd-hero-main{display:flex;gap:1rem;padding:1rem;align-items:stretch}.pd-hero-thumb{width:120px;align-self:stretch;-o-object-fit:cover;object-fit:cover;border-radius:8px;flex-shrink:0}.pd-hero-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.pd-subtitle{margin:0;font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-meta-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.pd-meta-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;font-size:.7rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:4px;border:none}.pd-meta-badge-clickable{cursor:pointer;transition:all .15s ease}.pd-meta-badge-clickable:hover{background:var(--bg-secondary);color:var(--text-primary)}.pd-meta-badge-clickable:active{transform:scale(.95)}.pd-lookup-bin-btn{cursor:pointer;border:1px dashed var(--border-color);background:transparent;color:var(--accent-primary);gap:.35rem;transition:all .15s ease}.pd-lookup-bin-btn:hover:not(:disabled){background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary);border-style:solid}.pd-lookup-bin-btn:disabled{cursor:not-allowed;opacity:.7}.pd-lookup-bin-btn svg.spin{animation:spin 1s linear infinite}.pd-meta-date{font-size:.7rem;color:var(--text-muted);margin-left:auto}.pd-external-links{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:10}.pd-external-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:8px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s ease}.pd-external-link:hover{background:var(--bg-active);border-color:var(--border-secondary);color:var(--text-primary);text-decoration:none}.pd-external-link svg{flex-shrink:0}.pd-updated-date{position:absolute;bottom:1rem;right:1rem;font-size:.7rem;color:var(--text-muted);z-index:10}.pd-ai-bar{background:var(--bg-tertiary);border-top:1px solid var(--border-primary);padding:.75rem 1rem}.pd-ai-header{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.35rem}.pd-ai-header svg{color:var(--color-success)}.pd-ai-refresh{margin-left:auto;display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--border-primary);border-radius:4px;color:var(--text-muted);font-size:.7rem;cursor:pointer;transition:all .15s ease}.pd-ai-refresh:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.pd-ai-refresh:disabled{opacity:.5;cursor:not-allowed}.pd-ai-refresh svg.spinning{animation:spin 1s linear infinite}.pd-ai-content{min-height:0}.pd-ai-text{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pd-hero-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:var(--card-bg);border-radius:16px;padding:1.5rem;border:1px solid var(--border-primary)}.pd-hero-left{display:flex;gap:1.25rem;min-width:0}.pd-hero-image-wrap{flex-shrink:0;height:100%}.pd-hero-image{width:180px;height:100%;min-height:140px;-o-object-fit:cover;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #00000026}.pd-hero-details{flex:1;display:flex;flex-direction:column;justify-content:flex-start;gap:.5rem;min-width:0}.pd-hero-right{display:flex;flex-direction:column}.pd-hero-top{display:flex;align-items:flex-start;gap:1rem}.pd-hero-content{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.pd-title-row{display:flex;align-items:center;gap:.5rem}.pd-title{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd-project-info{display:flex;flex-wrap:wrap;gap:.4rem .75rem;margin-top:.25rem}.pd-info-item{display:flex;flex-direction:column;gap:0}.pd-info-label{font-size:.65rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.pd-info-value{font-size:.8rem;color:var(--text-primary);font-weight:500}.pd-info-description{width:100%}.pd-property-grid{display:flex;flex-wrap:wrap;gap:.5rem}.pd-property-item{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-primary)}.pd-property-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.pd-property-value{font-size:.9rem;font-weight:600;color:var(--text-primary)}.pd-last-updated{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.35rem}.pd-edit-details-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.pd-edit-details-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-secondary)}.pd-next-steps-panel{background:var(--bg-tertiary);border-radius:10px;padding:1rem;display:flex;flex-direction:column}.pd-next-steps-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-primary)}.pd-next-steps-header svg{color:var(--color-success)}.pd-next-steps-badge{font-size:.7rem;font-weight:500;color:var(--text-muted)}.pd-next-steps-refresh{margin-left:auto;display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.pd-next-steps-refresh:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.pd-next-steps-refresh:disabled{opacity:.5;cursor:not-allowed}.pd-next-steps-refresh svg{color:inherit}.pd-next-steps-refresh svg.spinning{animation:spin 1s linear infinite}.pd-next-steps-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;flex:1;overflow-y:auto}.pd-next-steps-list li{font-size:.8rem;color:var(--text-secondary);background:var(--bg-primary);border-radius:6px;line-height:1.4;position:relative;padding:.5rem .6rem .5rem 1.5rem}.pd-next-steps-list li:before{content:"";position:absolute;left:.6rem;top:.7rem;width:6px;height:6px;border-radius:50%;background:var(--color-success)}.pd-next-steps-text{font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.6;flex:1;overflow-y:auto}.pd-next-steps-empty{font-size:.8rem;color:var(--text-muted);margin:0;padding:1rem;text-align:center}.pd-next-steps-loading{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}@media(max-width:900px){.pd-hero-wrapper{grid-template-columns:1fr;min-height:auto}.pd-hero-left{flex-direction:column}.pd-hero-image{width:100%;height:180px;min-height:auto}.pd-hero-right{margin-top:.5rem}}.pd-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.pd-stat-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;padding:1.25rem;text-align:center}.pd-stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1}.pd-stat-label{font-size:.8rem;color:var(--text-muted);margin-top:.35rem;text-transform:uppercase;letter-spacing:.03em}.pd-stat-success{border-color:var(--status-success);background:color-mix(in srgb,var(--status-success) 5%,var(--card-bg))}.pd-stat-success .pd-stat-value{color:var(--status-success)}.pd-stat-warning{border-color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 5%,var(--card-bg))}.pd-stat-warning .pd-stat-value{color:var(--status-warning)}.pd-insights-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.pd-insights-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary);transition:background .15s ease}.pd-insights-header:hover{background:var(--bg-active)}.pd-insights-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.pd-insights-title svg{color:var(--accent-primary)}.pd-insights-actions{display:flex;align-items:center;gap:.5rem}.pd-refresh-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:all .15s ease}.pd-refresh-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-secondary)}.pd-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.pd-insights-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .2s ease}.pd-insights-chevron.expanded{transform:rotate(90deg)}.pd-insights-content{padding:1.25rem}.pd-insights-loading{display:flex;flex-direction:column;gap:.5rem}.pd-insights-summary{margin:0;font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.pd-next-steps{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.pd-next-steps h4{margin:0 0 .75rem;font-size:.85rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.4rem}.pd-next-steps ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}.pd-next-steps li{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.pd-next-steps li::marker{color:var(--accent-primary)}.pd-progress-inline{display:flex;align-items:center;gap:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:.5rem 1rem;flex:1;max-width:400px}.pd-progress-inline .pd-progress-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.pd-progress-bar-inline{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;min-width:80px}.pd-progress-inline .pd-progress-count{font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.pd-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,#10b981 100%);border-radius:3px;transition:width .4s ease;min-width:0}@media(max-width:768px){.pd-progress-inline{display:none}}.pd-progress-divider{width:1px;height:16px;background:var(--border-primary);margin:0 .25rem}.pd-next-steps-btn{display:flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:transparent;color:var(--text-secondary);border:none;border-radius:4px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.pd-next-steps-btn:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.pd-next-steps-btn svg{flex-shrink:0;color:var(--accent-primary)}[data-theme=dark] .pd-next-steps-btn:hover{background:#ffffff1a}@media(max-width:768px){.pd-next-steps-btn{padding:.2rem .4rem;font-size:.65rem}}.modal-next-steps{max-width:850px;width:95%}.modal-header-with-action{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.modal-header-with-action h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.modal-header-with-action h3 svg{color:var(--accent-primary)}.btn-icon-refresh{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.btn-icon-refresh:hover{background:var(--bg-tertiary);color:var(--accent-primary);border-color:var(--accent-primary)}.btn-icon-refresh:disabled{opacity:.5;cursor:not-allowed}.btn-icon-refresh svg.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.next-steps-content{padding:1.5rem;min-height:180px;max-height:60vh;overflow-y:auto}.next-steps-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;color:var(--text-secondary)}.next-steps-loading .loading-spinner{width:36px;height:36px;border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.next-steps-summary{margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--accent-primary)}.next-steps-summary h4,.next-steps-list h4{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin:0 0 .5rem}.next-steps-summary p{margin:0;font-size:.9rem;line-height:1.7;color:var(--text-primary)}.next-steps-list{margin-top:1rem}.next-steps-list ul{margin:0;padding:0;list-style:none}.next-steps-list li{position:relative;padding:.875rem 1rem .875rem 2rem;font-size:.875rem;line-height:1.6;color:var(--text-primary);background:var(--bg-secondary);border-radius:6px;margin-bottom:.5rem}.next-steps-list li:last-child{margin-bottom:0}.next-steps-list li:before{content:"";position:absolute;left:.75rem;top:1.1rem;width:8px;height:8px;background:var(--accent-primary);border-radius:50%}.next-steps-list li:after{content:counter(step);counter-increment:step;position:absolute;left:.75rem;top:1rem;width:8px;height:8px;font-size:0}.next-steps-list ul{counter-reset:step;border-radius:50%}.next-steps-empty{text-align:center;padding:3rem 2rem;color:var(--text-tertiary)}.next-steps-empty p{margin:0;font-size:.9rem;line-height:1.6}.modal-next-steps .modal-actions{padding:1rem 1.5rem;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.pd-filings-section{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:10px;overflow:hidden}.pd-filings-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.pd-filings-title-row{display:flex;align-items:center;gap:.75rem;flex:1}.pd-filings-header h2{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.pd-search-wrapper{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;background:var(--bg-tertiary);border-radius:6px;flex:1;max-width:200px}.pd-search-wrapper svg{color:var(--text-muted);flex-shrink:0}.pd-search-input{flex:1;background:transparent;border:none;outline:none;font-size:.75rem;color:var(--text-primary);min-width:0}.pd-search-input::-moz-placeholder{color:var(--text-muted)}.pd-search-input::placeholder{color:var(--text-muted)}.pd-search-clear{display:flex;align-items:center;justify-content:center;padding:.15rem;background:transparent;border:none;cursor:pointer;color:var(--text-muted);border-radius:3px;transition:all .15s ease}.pd-search-clear:hover{background:var(--bg-hover);color:var(--text-secondary)}.pd-filings-actions{display:flex;align-items:center;gap:.4rem}.pd-add-filing-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:var(--accent-primary);color:var(--accent-text);border:none;border-radius:5px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background-color .15s}.pd-add-filing-btn:hover{background:var(--accent-primary-hover)}.pd-add-filing-btn svg{flex-shrink:0}.pd-expand-btn{padding:.35rem .6rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-primary);border-radius:5px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pd-expand-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.pd-import-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .6rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-primary);border-radius:5px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.pd-import-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.pd-import-btn svg{flex-shrink:0}.pd-dob-section{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:10px;overflow:hidden;margin-top:1rem}.pd-dob-section .pd-filings-header{flex-wrap:wrap;gap:.5rem}.pd-bis-link{display:flex;align-items:center;gap:.35rem;padding:.35rem .6rem;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;font-size:.75rem;text-decoration:none;transition:all .15s ease}.pd-bis-link:hover{background:var(--accent-primary);color:var(--accent-text)}.pd-dob-loading{font-size:.75rem;color:var(--text-muted);font-style:italic}.pd-dob-sections{display:flex;flex-direction:column}.pd-dob-section-item{border-top:1px solid var(--border-primary)}.pd-dob-section-item:first-child{border-top:none}.pd-dob-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem 1rem;background:transparent;border:none;cursor:pointer;transition:background .15s ease}.pd-dob-section-header:hover{background:var(--bg-hover)}.pd-dob-section-left{display:flex;align-items:center;gap:.5rem}.pd-dob-chevron{color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.pd-dob-chevron.expanded{transform:rotate(90deg)}.pd-dob-section-icon{color:var(--text-muted);flex-shrink:0}.pd-dob-section-icon.violations{color:var(--status-danger-text, #ef4444)}.pd-dob-section-icon.complaints{color:var(--status-warning-text, #f59e0b)}.pd-dob-section-icon.permits{color:var(--status-success-text, #22c55e)}.pd-dob-section-icon.jobs{color:var(--accent-primary)}.pd-dob-section-name{font-size:.8rem;font-weight:600;color:var(--text-primary)}.pd-dob-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.25rem;padding:0 .4rem;background:var(--bg-tertiary);color:var(--text-muted);font-size:.7rem;font-weight:600;border-radius:10px}.pd-dob-count.has-items{background:var(--accent-primary);color:var(--accent-text)}.pd-dob-section-content{padding:0 1rem 1rem}.pd-dob-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.pd-dob-table{width:100%;border-collapse:collapse;font-size:.75rem}.pd-dob-table thead{background:var(--bg-tertiary)}.pd-dob-table th{padding:.5rem .6rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid var(--border-primary)}.pd-dob-table td{padding:.5rem .6rem;color:var(--text-primary);border-bottom:1px solid var(--border-primary);vertical-align:top}.pd-dob-table tbody tr:hover{background:var(--bg-hover)}.pd-dob-table tbody tr:last-child td{border-bottom:none}.pd-dob-cell-id{font-family:var(--font-mono);font-weight:600;color:var(--accent-primary);white-space:nowrap}.pd-dob-cell-desc{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-dob-status-badge{display:inline-block;font-size:.65rem;font-weight:500;padding:.15rem .4rem;border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}.pd-dob-status-badge.active{background:var(--status-danger-bg);color:var(--status-danger-text)}.pd-dob-empty{padding:1.5rem 1rem;text-align:center;font-size:.8rem;color:var(--text-muted);font-style:italic}@media(max-width:600px){.pd-dob-section-header{padding:.5rem .75rem}.pd-dob-section-content{padding:0 .5rem .75rem}.pd-dob-table{font-size:.7rem}.pd-dob-table th,.pd-dob-table td{padding:.4rem}.pd-dob-cell-desc{max-width:120px}}.modal-xlarge{max-width:700px;width:95%;max-height:85vh;display:flex;flex-direction:column}.modal-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.import-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sample-download-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;text-decoration:none;cursor:pointer;transition:all .15s ease}.sample-download-btn:hover{color:var(--text-primary);background:var(--bg-active);border-color:var(--border-secondary)}.sample-download-btn svg{flex-shrink:0}.import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed var(--border-primary);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.import-dropzone:before{content:"";position:absolute;inset:0;background-image:url(/sample.png);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.05;pointer-events:none}.import-dropzone:hover{border-color:var(--accent);background:var(--bg-active)}.import-dropzone svg{color:var(--text-tertiary);margin-bottom:1rem}.import-dropzone p{margin:0;font-size:.95rem;color:var(--text-primary);font-weight:500}.import-hint{margin-top:.5rem;font-size:.8rem;color:var(--text-tertiary)}.import-error{margin-top:1rem;padding:.75rem;background:var(--status-danger-bg);color:var(--status-danger-text);border-radius:6px;font-size:.85rem}.import-preview{flex:1;display:flex;flex-direction:column;overflow:hidden}.import-summary{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1rem}.import-file-name{font-weight:500;color:var(--text-primary)}.import-count{font-size:.85rem;color:var(--text-secondary)}.btn-link{margin-left:auto;padding:0;background:none;border:none;color:var(--accent);font-size:.85rem;cursor:pointer;text-decoration:underline}.btn-link:hover{color:var(--accent-hover)}.import-preview-list{flex:1;overflow-y:auto;max-height:400px;padding-right:.5rem}.import-section{margin-bottom:1rem}.import-section-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-primary)}.import-section-count{font-size:.75rem;font-weight:400;color:var(--text-tertiary)}.import-section-items{display:flex;flex-direction:column;gap:.25rem}.import-item{display:flex;align-items:center;gap:.75rem;padding:.4rem .6rem;background:var(--bg-secondary);border-radius:4px;font-size:.8rem}.import-item-app{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-item-status{padding:.15rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.7rem;color:var(--text-secondary)}.import-item-more{padding:.4rem .6rem;font-size:.75rem;color:var(--text-tertiary);font-style:italic}.import-counts{display:flex;gap:.5rem}.import-count-new{color:var(--color-success);font-weight:600}.import-count-dup{color:var(--text-muted)}.import-item-dup{opacity:.5;background:var(--bg-tertiary)}.import-item-dup .import-item-app{color:var(--text-muted);text-decoration:line-through}.dup-badge{display:inline-flex;align-items:center;padding:.1rem .3rem;margin-right:.4rem;background:var(--status-warning-bg);color:var(--status-warning-text);font-size:.6rem;font-weight:700;border-radius:3px;text-decoration:none}.ai-badge{display:inline-flex;align-items:center;padding:.1rem .3rem;margin-right:.4rem;background:var(--status-info-bg);color:var(--status-info-text);font-size:.6rem;font-weight:700;border-radius:3px}.import-result{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.import-result-icon{color:var(--color-success);margin-bottom:1rem}.import-result-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.import-result-stats{display:flex;gap:1rem;margin:0;font-size:.9rem}.import-stat-added{color:var(--color-success);font-weight:600}.import-stat-skipped{color:var(--text-muted)}.import-parsing{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.import-parsing p{margin:1rem 0 .25rem;font-size:.95rem;color:var(--text-primary);font-weight:500}.import-spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.pd-filters-row{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.pd-filter-dropdown{height:32px;padding:0 .75rem;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:20px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s ease;min-width:140px}.pd-filter-dropdown:hover{border-color:var(--border-secondary)}.pd-filter-dropdown:focus{outline:none;border-color:var(--border-secondary)}.pd-status-filters{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.pd-filter-chip{display:inline-flex;align-items:center;gap:.3rem;height:26px;padding:0 .6rem;border:none;border-radius:6px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.02em}.pd-filter-chip.status-badge:hover{opacity:.85}.pd-filter-chip.status-badge.active{box-shadow:0 0 0 2px var(--text-primary)}.pd-filter-count{padding:.1rem .35rem;background:#0000001a;border-radius:4px;font-size:.6rem;font-weight:600}[data-theme=dark] .pd-filter-count{background:#ffffff26}.pd-filter-clear{background:transparent;color:var(--text-muted)}.pd-filter-clear:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.pd-sections{display:flex;flex-direction:column;gap:.5rem;padding:.75rem}.pd-empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.85rem}.pd-empty-state{padding:2rem 1rem;text-align:center}.pd-empty-text{color:var(--text-muted);font-size:.9rem;margin-bottom:1.25rem}.pd-empty-actions{display:flex;gap:1rem}.pd-empty-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;background:var(--card-bg);border:2px dashed var(--border-primary)!important;border-radius:8px!important;cursor:pointer;transition:all .15s ease;width:50%;color:var(--text-primary)}.pd-empty-btn:hover:not(:disabled){border-color:var(--accent-color)!important;background:var(--hover-bg)}.pd-empty-btn:disabled{opacity:.6;cursor:not-allowed}.pd-empty-btn svg{color:var(--accent-color)}.pd-empty-btn span:first-of-type{font-weight:500;font-size:.9rem}.pd-empty-btn-desc{font-size:.75rem;color:var(--text-muted);font-weight:400}.template-modal{max-width:480px}.template-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.template-modal .modal-header h3{margin:0;font-size:1rem}.template-modal .modal-close{position:static;padding:.25rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.template-modal .modal-close:hover{color:var(--text-primary)}.template-modal .modal-body{padding:1rem}.template-options{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.template-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1rem;background:var(--card-bg);border:1px solid var(--border-primary)!important;border-radius:8px!important;cursor:pointer;transition:all .15s ease;text-align:center;min-height:120px}.template-option:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent-color)!important}.template-option:disabled{opacity:.6;cursor:not-allowed}.template-option-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--accent-color);border-radius:10px;color:#fff}.template-option-icon svg{width:24px;height:24px}.template-option-text{display:flex;flex-direction:column;gap:.25rem}.template-option-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.template-option-desc{font-size:.7rem;color:var(--text-muted);line-height:1.3}@media(max-width:480px){.template-options{grid-template-columns:1fr}}.pd-sections .btn-add-filing{margin-top:.5rem}@media(max-width:600px){.pd-hero-main{flex-direction:column}.pd-hero-thumb{width:100%;height:150px;align-self:auto}.pd-meta-row{flex-wrap:wrap}.pd-meta-date{margin-left:0;width:100%;margin-top:.25rem}.filing-header{display:none}.filing-header,.filing-row{display:flex;flex-wrap:wrap;gap:.5rem}.filing-row{padding:.75rem}.filing-name{flex:1 1 100%;font-weight:600}.filing-job,.filing-type,.filing-applicant,.filing-date{font-size:.75rem}.filing-status{margin-left:auto}.filing-edit{opacity:1}}@media(max-width:900px){.pd-stats-row{grid-template-columns:repeat(2,1fr)}.pd-hero-top{flex-wrap:wrap}.pd-property-grid{margin-left:0;margin-top:.5rem;width:100%}.filing-header,.filing-row{grid-template-columns:32px 2fr 1fr 1fr 1fr 32px;gap:.5rem;font-size:.75rem}.filing-applicant,.filing-header>span:nth-child(5),.filing-duration,.filing-header>span:nth-child(6),.filing-date,.filing-header>span:nth-child(7),.filing-required,.filing-header>span:nth-child(9),.filing-comments,.filing-header>span:nth-child(10){display:none}}@media(max-width:600px){.project-detail-v2{gap:1rem}.pd-topbar{flex-direction:column;align-items:stretch;gap:.75rem}.pd-back-btn{justify-content:center}.pd-actions{justify-content:stretch}.pd-action-btn{flex:1;justify-content:center}.pd-hero-wrapper{padding:1rem}.pd-title{font-size:1.1rem}.pd-hero-image{width:80px;height:60px}.pd-property-grid{gap:.4rem}.pd-property-item{padding:.4rem .6rem}.pd-stats-row{grid-template-columns:repeat(2,1fr);gap:.75rem}.pd-stat-card{padding:1rem}.pd-stat-value{font-size:1.5rem}.pd-filings-header{flex-direction:column;align-items:stretch;gap:.75rem}.pd-filings-title-row{flex-wrap:wrap}.pd-search-wrapper{max-width:100%}.pd-expand-btn{width:100%;justify-content:center}.pd-filters-row{flex-wrap:wrap;padding:.75rem 1rem}.pd-filter-dropdown{height:28px;font-size:.75rem;min-width:120px}.pd-filter-chip{font-size:.75rem;height:28px}}.toast-notification{position:fixed;bottom:1.5rem;left:1.5rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 20px #00000026;font-size:.875rem;font-weight:500;color:var(--text-primary);z-index:9999}.toast-notification svg{color:var(--accent-primary);flex-shrink:0}.header-profile-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.calendar-view .rbc-calendar{background:var(--card-bg);border-radius:12px;padding:0;box-shadow:var(--shadow-sm);border:1px solid var(--border-primary);display:flex;flex-direction:column;flex:1;height:100%;min-height:0;overflow:hidden}.calendar-view .rbc-calendar,.calendar-view .rbc-calendar *{border-color:var(--border-primary)}.calendar-view .rbc-toolbar{margin-bottom:0;padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);border-radius:12px 12px 0 0}.calendar-view .rbc-toolbar button{background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.calendar-view .rbc-toolbar button:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.calendar-view .rbc-toolbar button.rbc-active{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.calendar-view .rbc-toolbar-label{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.calendar-view .rbc-header{background:var(--bg-tertiary);padding:.75rem .5rem;font-weight:600;font-size:.8rem;color:var(--text-secondary);border-bottom:none;border-left:none}.calendar-view .rbc-month-view .rbc-header{border-bottom:1px solid var(--border-primary)}.calendar-view .rbc-month-view .rbc-header+.rbc-header{border-left:1px solid var(--border-primary)}.calendar-view .rbc-month-view{border:none;border-radius:0;overflow:hidden;flex:1;height:100%;min-height:0;display:flex;flex-direction:column}.calendar-view .rbc-month-view,.calendar-view .rbc-month-view *{border-color:var(--border-primary)}.calendar-view .rbc-month-row{flex:1 1 0!important;min-height:0}.calendar-view .rbc-month-row:last-child{flex:1 1 0!important}.calendar-view .rbc-month-row+.rbc-month-row{border-top:1px solid var(--border-primary)}.calendar-view .rbc-day-bg{background:var(--card-bg);transition:background .2s}.calendar-view .rbc-day-bg:hover{background:var(--bg-hover)}.calendar-view .rbc-day-bg+.rbc-day-bg{border-left:1px solid var(--border-primary)}.calendar-view .rbc-off-range-bg{background:var(--bg-tertiary)}[data-theme=dark] .calendar-view .rbc-off-range-bg{background:#00000026}.calendar-view .rbc-today,[data-theme=dark] .calendar-view .rbc-today{background:var(--bg-hover)}.calendar-view .rbc-date-cell{padding:.5rem;text-align:right;font-size:.875rem;color:var(--text-secondary)}.calendar-view .rbc-date-cell.rbc-now{font-weight:700;color:var(--accent-primary)}.calendar-view .rbc-date-cell.rbc-off-range{color:var(--text-muted)}.calendar-view .rbc-event{border-radius:4px;font-size:.75rem;padding:2px 6px}.calendar-view .rbc-event:focus{outline:2px solid var(--border-secondary, var(--border-primary));outline-offset:2px}.calendar-view .rbc-event-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-view .rbc-show-more{color:var(--accent-primary);font-size:.75rem;font-weight:500;background:transparent;padding:2px 4px}.calendar-view .rbc-show-more:hover{color:var(--accent-primary-hover);text-decoration:underline}.calendar-view .rbc-time-view{border:none;border-radius:0;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.calendar-view .rbc-time-view,.calendar-view .rbc-time-view *{border-color:var(--border-primary)!important}.calendar-view .rbc-time-header{background:var(--bg-tertiary);flex-shrink:0;overflow:visible;border-bottom:1px solid var(--border-primary)}.calendar-view .rbc-time-header-content{border-left:1px solid var(--border-primary);min-height:auto}.calendar-view .rbc-time-header>.rbc-row:first-child{border-bottom:none!important}.calendar-view .rbc-time-header-content>.rbc-row{border-bottom:none}.calendar-view .rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:none}.calendar-view .rbc-time-header-content .rbc-header{border-bottom:none;border-left:none;overflow:visible;padding:8px 4px}.calendar-view .rbc-time-header-cell{min-width:0;flex:1}.calendar-view .rbc-time-header-cell-single-day{display:flex!important;flex-direction:column;align-items:center;padding:8px 4px}.calendar-view .rbc-button-link{color:var(--text-primary);font-weight:600;font-size:.875rem;text-decoration:none;cursor:pointer;background:transparent;border:none;padding:4px 8px;border-radius:4px;white-space:nowrap}.calendar-view .rbc-button-link:hover{background:var(--bg-hover)}.calendar-view .rbc-today .rbc-button-link{color:var(--accent-primary)}.calendar-view .rbc-row-content{z-index:4}.calendar-view .rbc-time-header-gutter{background:var(--bg-tertiary);border-bottom:none}.calendar-view .rbc-allday-cell{background:var(--bg-secondary);height:auto!important;min-height:0!important;max-height:60px;overflow-y:auto}.calendar-view .rbc-allday-cell+.rbc-allday-cell{display:none}.calendar-view .rbc-time-header-content .rbc-row:last-child{min-height:0}.calendar-view .rbc-time-content{border-top:1px solid var(--border-primary);flex:1;overflow-y:auto;min-height:0}.calendar-view .rbc-time-gutter{background:var(--bg-secondary)}.calendar-view .rbc-time-column{background:var(--card-bg)}.calendar-view .rbc-time-column+.rbc-time-column{border-left:1px solid var(--border-primary)}.calendar-view .rbc-time-header .rbc-row{border-bottom:none!important}.calendar-view .rbc-time-header .rbc-header{border-bottom:none;border-left:none;overflow:visible}.calendar-view .rbc-time-header-cell .rbc-header{border-bottom:none;border-left:none}.calendar-view .rbc-row-bg+.rbc-row-bg{border-top:none}.calendar-view .rbc-row-bg{background:var(--card-bg)}.calendar-view .rbc-day-bg.rbc-today,[data-theme=dark] .calendar-view .rbc-day-bg.rbc-today{background:var(--bg-hover)}.calendar-view .rbc-timeslot-group{border-bottom:1px solid var(--border-primary);min-height:40px}.calendar-view .rbc-time-slot{color:var(--text-muted);font-size:.75rem}.calendar-view .rbc-label{padding:0 8px;font-size:.75rem;color:var(--text-muted)}.calendar-view .rbc-day-slot .rbc-time-slot{border-top:1px solid var(--border-primary)}[data-theme=dark] .calendar-view .rbc-timeslot-group:nth-child(2n){background:#ffffff05}.calendar-view .rbc-day-slot .rbc-event{border:none}.calendar-view .rbc-current-time-indicator{background:var(--color-danger);height:2px}.calendar-view .rbc-overlay{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-lg);padding:.5rem;z-index:var(--z-dropdowns)}.calendar-view .rbc-overlay-header{padding:.5rem;font-weight:600;border-bottom:1px solid var(--border-primary);margin-bottom:.5rem}.event-details-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:1rem}[data-theme=dark] .event-details-overlay{background:#00000080}.event-details-modal{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:1.5rem;position:relative}.event-details-modal .modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.event-details-modal .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.event-details-modal h3{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:var(--text-primary);padding-right:2rem}.event-details-content{display:flex;flex-direction:column;gap:1rem}.event-detail-row{display:flex;flex-direction:column;gap:.25rem}.event-detail-row .detail-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.event-detail-row .detail-value{font-size:.9rem;color:var(--text-primary)}.event-detail-row .detail-value.outlook-badge{color:var(--color-outlook);font-weight:500}.event-detail-row .detail-value.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.event-detail-row .detail-value.status-badge.completed{background:#22c55e26;color:var(--color-success)}.event-detail-row .detail-value.status-badge.overdue{background:#ef444426;color:var(--color-danger)}.event-detail-row .detail-value.status-badge.upcoming{background:#3b82f626;color:var(--accent-primary)}[data-theme=dark] .event-detail-row .detail-value.status-badge.completed{background:#22c55e33}[data-theme=dark] .event-detail-row .detail-value.status-badge.overdue{background:#ef444433}[data-theme=dark] .event-detail-row .detail-value.status-badge.upcoming{background:#3b82f633}.event-details-modal .btn-primary{margin-top:.5rem;width:100%;padding:.75rem 1rem;background:var(--accent-primary);color:var(--accent-text);border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.event-details-modal .btn-primary:hover{background:var(--accent-primary-hover)}.event-detail-row .detail-value.ai-badge{background:linear-gradient(135deg,#9333ea,#7c3aed);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}[data-theme=dark] .event-detail-row .detail-value.ai-badge{background:linear-gradient(135deg,#a855f7,#8b5cf6)}.event-detail-row .detail-value.ai-event-type{text-transform:capitalize;font-weight:500;padding:2px 8px;border-radius:4px;font-size:.8rem}.event-detail-row .detail-value.ai-type-overdue{background:var(--ai-overdue-bg);color:var(--ai-overdue-text)}.event-detail-row .detail-value.ai-type-deadline{background:var(--ai-deadline-bg);color:var(--ai-deadline-text)}.event-detail-row .detail-value.ai-type-follow_up{background:var(--ai-follow-up-bg);color:var(--ai-follow-up-text)}.event-detail-row .detail-value.ai-type-milestone{background:var(--ai-milestone-bg);color:var(--ai-milestone-text)}.event-detail-row .detail-value.ai-type-reminder{background:var(--ai-reminder-bg);color:var(--ai-reminder-text)}.event-detail-row .detail-value.ai-priority{text-transform:capitalize;font-weight:500;padding:2px 8px;border-radius:4px;font-size:.8rem}.event-detail-row .detail-value.ai-priority-high{background:var(--ai-overdue-bg);color:var(--ai-overdue-text)}.event-detail-row .detail-value.ai-priority-medium{background:var(--ai-deadline-bg);color:var(--ai-deadline-text)}.event-detail-row .detail-value.ai-priority-low{background:var(--ai-milestone-bg);color:var(--ai-milestone-text)}.event-detail-row .detail-value.ai-reasoning{font-style:italic;color:var(--text-secondary);font-size:.85rem}.event-detail-row .detail-value.dob-badge{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}[data-theme=dark] .event-detail-row .detail-value.dob-badge{background:linear-gradient(135deg,#ef4444,#dc2626)}.event-detail-row .detail-value.dob-event-type{text-transform:capitalize;font-weight:500;padding:2px 8px;border-radius:4px;font-size:.8rem}.event-detail-row .detail-value.dob-type-dob_violation,.event-detail-row .detail-value.dob-type-violation{background:#dc262626;color:#dc2626}[data-theme=dark] .event-detail-row .detail-value.dob-type-dob_violation,[data-theme=dark] .event-detail-row .detail-value.dob-type-violation{background:#ef444433;color:#ef4444}.event-detail-row .detail-value.dob-type-dob_complaint,.event-detail-row .detail-value.dob-type-complaint{background:#f59e0b26;color:#d97706}[data-theme=dark] .event-detail-row .detail-value.dob-type-dob_complaint,[data-theme=dark] .event-detail-row .detail-value.dob-type-complaint{background:#f59e0b33;color:#f59e0b}.event-detail-row .detail-value.dob-type-dob_permit,.event-detail-row .detail-value.dob-type-permit{background:#10b98126;color:#059669}[data-theme=dark] .event-detail-row .detail-value.dob-type-dob_permit,[data-theme=dark] .event-detail-row .detail-value.dob-type-permit{background:#10b98133;color:#10b981}.event-detail-row .detail-value.dob-type-dob_status_change,.event-detail-row .detail-value.dob-type-status_change{background:#3b82f626;color:#2563eb}[data-theme=dark] .event-detail-row .detail-value.dob-type-dob_status_change,[data-theme=dark] .event-detail-row .detail-value.dob-type-status_change{background:#3b82f633;color:#3b82f6}.event-detail-row .detail-value.dob-priority{text-transform:capitalize;font-weight:500;padding:2px 8px;border-radius:4px;font-size:.8rem}.event-detail-row .detail-value.dob-priority-high{background:#dc262626;color:#dc2626}.event-detail-row .detail-value.dob-priority-medium{background:#f59e0b26;color:#d97706}.event-detail-row .detail-value.dob-priority-low{background:#10b98126;color:#059669}[data-theme=dark] .event-detail-row .detail-value.dob-priority-high{background:#ef444433;color:#ef4444}[data-theme=dark] .event-detail-row .detail-value.dob-priority-medium{background:#f59e0b33;color:#f59e0b}[data-theme=dark] .event-detail-row .detail-value.dob-priority-low{background:#10b98133;color:#10b981}.calendar-actions,.calendar-actions .outlook-refresh{display:flex;align-items:center;gap:.5rem}.calendar-legend .legend-dot.outlook{background:var(--color-outlook)}.calendar-search-wrapper{position:absolute;top:1rem;right:1rem;z-index:100}.calendar-search-bar{display:flex;align-items:center;gap:0;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:24px;padding:.25rem;box-shadow:var(--shadow-sm);transition:all .2s}.calendar-search-bar.expanded{box-shadow:var(--shadow-md)}.calendar-search-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .2s}.calendar-search-toggle:hover{background:var(--bg-hover);color:var(--accent-primary)}.calendar-search-input-wrapper{display:flex;align-items:center;gap:.5rem;overflow:hidden}.calendar-search-input{width:280px;padding:.5rem 0;background:transparent;border:none;outline:none;box-shadow:none;font-size:.95rem;color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none}.calendar-search-input:focus{border:none;outline:none;box-shadow:none}.calendar-search-input::-moz-placeholder{color:var(--text-tertiary)}.calendar-search-input::placeholder{color:var(--text-tertiary)}.calendar-search-bar:focus-within{outline:none;border-color:var(--border-secondary, var(--border-primary))}.calendar-search-clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.calendar-search-clear:hover{background:var(--bg-hover);color:var(--text-secondary)}.calendar-search-submit{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent-primary);border:none;border-radius:50%;cursor:pointer;color:var(--accent-text);transition:all .2s}.calendar-search-submit:hover:not(:disabled){background:var(--accent-primary-hover);transform:scale(1.05)}.calendar-search-submit:disabled{opacity:.5;cursor:not-allowed}.search-spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin .8s linear infinite}.calendar-search-panel{position:absolute;top:calc(100% + .5rem);right:0;width:400px;max-height:500px;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column}.search-suggestions{padding:1rem}.search-suggestions-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:var(--text-primary)}.search-suggestions-header .ai-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600}.search-suggestions-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.search-suggestions-list{display:flex;flex-direction:column;gap:.25rem}.search-suggestion-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;text-align:left;color:var(--text-primary);font-size:.875rem;transition:all .2s}.search-suggestion-item:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.search-suggestion-item svg{color:var(--accent-primary);flex-shrink:0}.search-conversation{display:flex;flex-direction:column;flex:1;min-height:0}.search-conversation-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);font-weight:600;font-size:.875rem;color:var(--text-primary)}.btn-clear-search{background:transparent;border:none;color:var(--text-tertiary);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.btn-clear-search:hover{background:var(--bg-hover);color:var(--text-secondary)}.search-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;max-height:350px}.search-message{display:flex;flex-direction:column}.search-question{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;font-size:.875rem;color:var(--text-primary)}.search-question svg{flex-shrink:0;color:var(--accent-primary);margin-top:2px}.search-answer{padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;font-size:.85rem;color:var(--text-primary);line-height:1.5}.search-answer p{margin:0 0 .5rem}.search-answer p:last-child{margin-bottom:0}.search-answer ul,.search-answer ol{margin:.5rem 0;padding-left:1.25rem}.search-answer li{margin-bottom:.25rem}.search-answer code{background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:4px;font-size:.8rem}.search-answer strong{font-weight:600}.search-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem}.search-loading-dots{display:flex;gap:.25rem}.search-loading-dots span{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:searchBounce 1.4s infinite ease-in-out both}.search-loading-dots span:nth-child(1){animation-delay:-.32s}.search-loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes searchBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.search-loading p{font-size:.8rem;color:var(--text-secondary)}.search-disclaimer{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border-top:1px solid var(--border-primary);font-size:.7rem;color:var(--text-tertiary)}.search-disclaimer svg{flex-shrink:0}@media(max-width:768px){.calendar-search-wrapper{top:.5rem;right:.5rem}.calendar-search-input{width:200px}.calendar-search-panel{width:calc(100vw - 2rem);max-width:360px}}@media(max-width:480px){.calendar-search-bar.expanded{position:fixed;top:.5rem;left:.5rem;right:.5rem;width:auto;z-index:200}.calendar-search-input{width:100%;flex:1}.calendar-search-panel{position:fixed;top:60px;left:.5rem;right:.5rem;width:auto;max-height:calc(100vh - 80px)}}.template-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:1rem}.template-modal{background:var(--bg-secondary);border-radius:12px;box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.template-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.template-modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.template-modal-close{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.template-modal-close:hover{color:var(--text-primary)}.template-search{padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary)}.template-search input{width:100%;padding:.6rem 1rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.template-categories{display:flex;gap:.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-primary);flex-wrap:wrap}.template-category-btn{padding:.35rem .75rem;border:1px solid var(--border-primary);border-radius:16px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.template-category-btn:hover{background:var(--bg-hover)}.template-category-btn.active{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.template-list{flex:1;overflow-y:auto;padding:.5rem}.template-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:1px solid var(--border-primary);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .15s}.template-item:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.template-item-info h4{margin:0 0 .25rem;font-size:.95rem;font-weight:500}.template-item-info p{margin:0;font-size:.8rem;color:var(--text-muted)}.template-item-badge{font-size:.7rem;padding:.2rem .5rem;background:var(--bg-tertiary);color:var(--text-tertiary);border-radius:4px;text-transform:uppercase}.btn-use-template{padding:.4rem .75rem;background:var(--accent-primary);color:var(--accent-text);border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s}.btn-use-template:hover{background:var(--accent-primary-hover)}.bulk-actions-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:8px;margin-bottom:1rem;border:1px solid var(--border-primary)}.bulk-select-info{font-size:.9rem;color:var(--text-secondary);font-weight:500}.bulk-actions-buttons{display:flex;gap:.5rem;margin-left:auto}.btn-bulk-action{padding:.4rem .75rem;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .15s}.btn-bulk-action:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.btn-bulk-action.danger:hover{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-text)}.btn-clear-selection{padding:.4rem .75rem;background:none;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer}.btn-clear-selection:hover{color:var(--text-primary)}.item-checkbox{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}.selectable-row{cursor:pointer}.selectable-row.selected{background:#1a1a1a0d}[data-theme=dark] .selectable-row.selected{background:#ffffff0d}.advanced-filters{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:1rem;margin-bottom:1rem}.advanced-filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.advanced-filters-header h4{margin:0;font-size:.95rem;font-weight:600}.btn-toggle-advanced{padding:.35rem .75rem;background:none;border:1px solid var(--border-primary);border-radius:6px;color:var(--text-tertiary);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.35rem}.btn-toggle-advanced:hover{background:var(--bg-hover)}.btn-toggle-advanced.active{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.filter-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.filter-group{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:150px}.filter-group label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.filter-group input,.filter-group select{padding:.5rem .75rem;border:1px solid var(--border-primary);border-radius:6px;font-size:.9rem;background:var(--bg-input);color:var(--text-primary)}.date-range-picker{display:flex;align-items:center;gap:.5rem}.date-range-picker input{flex:1}.date-range-separator{color:var(--text-muted);font-size:.8rem}.saved-filters{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-primary);flex-wrap:wrap}.saved-filter-chip{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:16px;font-size:.8rem;cursor:pointer;transition:all .15s}.saved-filter-chip:hover{background:var(--bg-hover)}.saved-filter-chip.active{background:var(--accent-primary);color:var(--accent-text);border-color:var(--accent-primary)}.saved-filter-remove{background:none;border:none;padding:0;color:inherit;opacity:.6;cursor:pointer;display:flex;align-items:center}.saved-filter-remove:hover{opacity:1}.btn-save-filter{padding:.35rem .75rem;background:none;border:1px dashed var(--border-secondary);border-radius:16px;color:var(--text-muted);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.35rem}.btn-save-filter:hover{background:var(--bg-hover);color:var(--text-secondary)}.map-view{padding:0 1.5rem 1.5rem}.map-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.map-view-header h1{margin:0;font-size:1.5rem;font-weight:600}.map-view-header .map-controls{display:flex;align-items:center;gap:.75rem}.map-view-header .map-controls .search-input,.map-view-header .map-controls .phase-filter{height:44px;box-sizing:border-box}.zola-link{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem .9rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s ease;white-space:nowrap}.zola-link:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.zola-link svg{flex-shrink:0}.map-container{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;height:calc(100vh - 200px);min-height:500px;position:relative}.map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);gap:1rem}.map-placeholder svg{opacity:.5}.map-placeholder p{margin:0;font-size:.95rem}.map-sidebar{position:absolute;top:1rem;left:1rem;width:300px;max-height:calc(100% - 2rem);background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-map-controls)}.map-sidebar-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);font-weight:600;font-size:.9rem}.map-sidebar-list{flex:1;overflow-y:auto;padding:.5rem}.map-location-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;transition:all .15s;margin-bottom:4px}.map-location-item:hover{background:var(--bg-hover)}.map-location-item.active{background:var(--accent-primary);color:var(--accent-text)}.map-location-thumb{position:relative;flex-shrink:0;width:56px;height:42px;border-radius:6px;overflow:hidden}.map-location-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.map-location-overdue-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--color-danger);border-radius:50%;border:1.5px solid var(--bg-secondary)}.map-location-info{flex:1;min-width:0}.map-location-item h4{margin:0 0 2px;font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-location-item p{margin:0;font-size:.7rem;opacity:.7}.map-location-progress{margin-top:4px;height:3px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.map-location-progress-fill{height:100%;background:var(--color-success);border-radius:2px}.map-location-streetview{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:var(--bg-tertiary);color:var(--text-muted);flex-shrink:0;transition:all .2s ease}.map-location-streetview:hover{background:var(--accent-primary);color:var(--accent-text)}.map-marker{width:24px;height:24px;background:var(--accent-primary);border:2px solid var(--bg-primary);border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--accent-text);font-size:10px;font-weight:700;transition:transform .15s}.map-marker:hover{transform:scale(1.2)}.map-marker.has-overdue{background:var(--color-danger)}.map-marker-icon{width:12px;height:12px;border-radius:50%;border:1.5px solid white;box-shadow:0 1px 3px #0000004d}.map-marker-icon.marker-default{background:var(--accent-primary)}.map-marker-icon.marker-overdue{background:var(--color-danger)}.leaflet-popup-content-wrapper{padding:0;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #00000026;background:var(--bg-primary)}.leaflet-popup-content{margin:0;width:280px!important}.leaflet-popup-tip{background:var(--bg-primary)}.leaflet-popup-close-button{width:28px!important;height:28px!important;font-size:20px!important;line-height:28px!important;top:8px!important;right:8px!important;color:#fff!important;background:#00000080!important;border-radius:50%!important;text-align:center!important;font-weight:400!important;transition:background .2s!important}.leaflet-popup-close-button:hover{background:#000000b3!important;color:#fff!important}[data-theme=dark] .leaflet-popup-close-button{background:#0009!important}[data-theme=dark] .leaflet-popup-close-button:hover{background:#000c!important}.map-popup-content{background:var(--bg-primary);border-radius:12px;overflow:hidden}.map-popup-image{position:relative;width:100%;height:120px;overflow:hidden}.map-popup-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.map-popup-badge{position:absolute;top:8px;right:8px;padding:4px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.map-popup-badge.overdue{background:var(--color-danger);color:#fff}.map-popup-body{padding:12px}.map-popup-title{margin:0 0 10px;font-size:.9rem;font-weight:600;color:var(--text-primary);line-height:1.3}.map-popup-stats{display:flex;gap:12px;margin-bottom:10px}.map-popup-stat{display:flex;flex-direction:column;align-items:center;flex:1;padding:6px;background:var(--bg-secondary);border-radius:6px}.map-popup-stat-value{font-size:1rem;font-weight:700;color:var(--text-primary)}.map-popup-stat-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.map-popup-progress{margin-bottom:12px}.map-popup-progress-bar{height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-bottom:4px}.map-popup-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-success-dark));border-radius:2px;transition:width .3s ease}.map-popup-progress-text{font-size:.7rem;color:var(--text-muted)}.map-popup-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#f5f5f5;color:#171717;border:1px solid #e5e5e5;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.map-popup-btn:hover{background:#e5e5e5;border-color:#d4d4d4}[data-theme=dark] .map-popup-btn{background:#262626;color:#fafafa;border:1px solid #404040}[data-theme=dark] .map-popup-btn:hover{background:#333;border-color:#525252}.map-popup-btn svg{flex-shrink:0}.map-popup-buttons{display:flex;gap:8px}.map-popup-buttons .map-popup-btn{flex:1;text-decoration:none}.map-popup-btn.zola{background:#f5f5f5;color:#171717;border:1px solid #e5e5e5}.map-popup-btn.zola:hover{background:#e5e5e5;border-color:#d4d4d4}[data-theme=light] .map-popup-btn.zola,:root:not([data-theme=dark]) .map-popup-btn.zola{background:#f5f5f5;color:#171717;border:1px solid #e5e5e5}[data-theme=dark] .map-popup-btn.zola{background:#262626;color:#fafafa;border:1px solid #404040}[data-theme=dark] .map-popup-btn.zola:hover{background:#333;border-color:#525252}.map-overlay{position:absolute;top:12px;right:12px;z-index:var(--z-map-controls);display:flex;flex-direction:column;align-items:flex-end}.map-overlay-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);transition:all .2s}.map-overlay-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.map-overlay-toggle svg{width:16px;height:16px;flex-shrink:0}.map-overlay.visible .map-overlay-toggle{border-radius:8px 8px 0 0;border-bottom:none}.map-overlay-content{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px 0 8px 8px;box-shadow:0 4px 16px #0000001f;overflow:hidden;max-height:calc(100vh - 260px);max-width:280px;overflow-y:auto;margin-top:-1px}.map-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);min-height:44px}.map-overlay-header h3{margin:0;font-size:.9rem;font-weight:600}.map-overlay-badge{padding:3px 8px;background:var(--accent-primary);color:var(--accent-text);border-radius:10px;font-size:.7rem;font-weight:600}.map-overlay-metrics{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border-primary)}.map-overlay-metric{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px;background:var(--bg-secondary);border-radius:8px}.map-overlay-metric.highlight{background:linear-gradient(135deg,#22c55e14,#16a34a14)}.map-overlay-metric .metric-value{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.map-overlay-metric.highlight .metric-value{color:var(--color-success)}.map-overlay-metric .metric-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.map-overlay-alerts{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border-primary)}.map-overlay-alert{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.map-overlay-alert.danger{background:#dc26261a;color:var(--color-danger)}.map-overlay-alert.warning{background:#f59e0b1a;color:var(--color-warning-dark)}.map-overlay-section{padding:10px 12px;border-bottom:1px solid var(--border-primary)}.map-overlay-section:last-child{border-bottom:none}.map-overlay-section h4{margin:0 0 8px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.map-overlay-boroughs{display:flex;flex-direction:column;gap:6px}.borough-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.borough-info{display:flex;align-items:center;gap:8px}.borough-name{font-size:.8rem;font-weight:500}.borough-stats{display:flex;align-items:center;gap:8px}.borough-count{font-size:.8rem;font-weight:600;color:var(--text-primary);background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.borough-overdue{font-size:.7rem;color:var(--color-danger)}.map-overlay-filings{display:flex;flex-direction:column;gap:4px}.filing-type-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.filing-type-name{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.map-overlay-deadlines{display:flex;flex-direction:column;gap:6px}.deadline-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:var(--bg-secondary);border-radius:6px;cursor:pointer;transition:all .15s}.deadline-row:hover{background:var(--bg-hover)}.deadline-row.urgent{background:#f59e0b1a;border-left:3px solid var(--color-warning)}.deadline-item{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-address{font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-date{font-size:.7rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.map-overlay-links{display:flex;flex-wrap:wrap;gap:6px}.map-overlay-links a{padding:5px 10px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:.7rem;font-weight:500;color:var(--text-primary);text-decoration:none;transition:all .15s}.map-overlay-links a:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--accent-text)}.map-location-streetview{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;color:var(--text-muted);border-radius:6px;transition:all .15s}.map-location-streetview:hover{background:var(--bg-hover);color:var(--accent-primary)}.phase-marker{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.phase-marker .marker-inner{width:12px;height:12px;border-radius:50%;background:var(--marker-color, #3b82f6);border:1.5px solid white;box-shadow:0 1px 3px #0000004d;transition:transform .15s}.phase-marker:hover .marker-inner{transform:scale(1.15)}.phase-marker.pulse-overdue .marker-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:var(--marker-color, #ef4444);opacity:.4;animation:pulse-ring 1.5s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}to{transform:scale(1.8);opacity:0}}.map-controls{display:flex;gap:.75rem;align-items:center}.phase-filter{padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--border-primary);border-radius:8px;font-size:1rem;background:var(--bg-input);color:var(--text-primary);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.phase-filter:hover{border-color:var(--border-secondary);background-color:var(--bg-hover)}.phase-filter:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));box-shadow:0 0 0 3px #0000000d}.map-layer-controls{position:absolute;top:12px;left:12px;z-index:var(--z-map-controls);display:flex;flex-direction:column}.layer-controls-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;box-shadow:0 2px 8px #0000001a}.layer-controls-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.layer-controls-toggle svg{width:16px;height:16px;flex-shrink:0}.map-layer-controls.visible .layer-controls-toggle{border-radius:8px 8px 0 0;border-bottom:none}.layer-controls-content{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:0 8px 8px;padding:12px;box-shadow:0 4px 16px #0000001f;min-width:140px;margin-top:-1px;max-height:calc(100vh - 280px);overflow-y:auto}.layer-controls-content h4{margin:0 0 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.layer-controls-content label{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:0 -8px;border-radius:6px;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:all .15s}.layer-controls-content label:hover{background:var(--bg-hover);color:var(--text-primary)}.layer-controls-content label.active{background:var(--bg-tertiary);color:var(--text-primary)}.layer-controls-content label input{display:none}.layer-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:var(--bg-secondary);color:var(--text-muted);transition:all .15s}.layer-controls-content label.active .layer-icon.dob{background:var(--chart-blue);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.zoning{background:var(--chart-amber);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.historic{background:#92400e;color:#fff}[data-theme=dark] .layer-controls-content label.active .layer-icon.historic{background:#b45309}.layer-controls-content label.active .layer-icon.flood{background:var(--chart-blue);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.special{background:var(--chart-pink);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.community{background:var(--chart-gray);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.subway{background:var(--chart-green);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.landmarks{background:var(--chart-amber);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.commercial{background:var(--chart-red);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.edesignations{background:#f97316;color:#fff}[data-theme=dark] .layer-controls-content label.active .layer-icon.edesignations{background:#fb923c}.layer-controls-content label.active .layer-icon.mih{background:var(--chart-cyan);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.limitedheight{background:var(--chart-purple);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.coastal{background:#0ea5e9;color:#fff}[data-theme=dark] .layer-controls-content label.active .layer-icon.coastal{background:#38bdf8}.layer-controls-content label.active .layer-icon.amendments{background:var(--chart-lime);color:var(--bg-primary)}.layer-controls-content label.active .layer-icon.fresh{background:var(--chart-green);color:var(--bg-primary)}.layer-loading-indicator{font-size:.65rem;font-weight:400;color:var(--color-info);margin-left:4px}.layer-spinner{display:inline-block;width:12px;height:12px;margin-left:auto;border:2px solid var(--border-secondary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.layer-controls-content label[disabled]{opacity:.6;cursor:wait}.layer-controls-content label.has-error,.layer-controls-content label.has-error .layer-icon{color:var(--color-error, #ef4444)}.layer-retry{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:2px;background:transparent;border:none;color:var(--color-error, #ef4444);cursor:pointer;border-radius:4px;transition:all .2s}.layer-retry:hover{background:var(--bg-hover);color:var(--accent-primary)}.layer-retry svg{display:block}.map-legend{position:absolute;top:12px;right:12px;z-index:var(--z-map-controls);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:10px;box-shadow:0 4px 16px #0000001f;max-height:calc(100vh - 200px);overflow-y:auto;white-space:nowrap}.legend-section{margin-bottom:8px}.legend-section:last-child{margin-bottom:0}.legend-section h5{margin:0 0 4px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.legend-items{display:flex;flex-direction:column;gap:2px}.legend-items.compact{gap:1px}.legend-item{display:flex;align-items:center;gap:6px;font-size:.65rem;color:var(--text-secondary)}.legend-color{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-color.historic-pattern{background:#b45309;border:1px dashed #92400e}.phase-breakdown{display:flex;flex-direction:column;gap:4px}.phase-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:all .15s}.phase-item:hover{background:var(--bg-hover)}.phase-item.selected{background:var(--bg-tertiary);border:1px solid var(--accent-primary)}.phase-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.phase-name{flex:1;font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}.phase-count{font-size:.75rem;font-weight:600;color:var(--text-primary)}.map-popup-phase{position:absolute;top:8px;left:8px;padding:4px 8px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:capitalize;background:#000000b3;color:#fff}.map-popup-phase.pre-construction{background:#6366f1}.map-popup-phase.active{background:#f59e0b}.map-popup-phase.inspection{background:#8b5cf6}.map-popup-phase.complete{background:#10b981}.location-phase-tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;text-transform:capitalize;margin-top:4px}.location-phase-tag.pre-construction{background:#6366f126;color:#6366f1}.location-phase-tag.active{background:#f59e0b26;color:#d97706}.location-phase-tag.inspection{background:#8b5cf626;color:#8b5cf6}.location-phase-tag.complete{background:#10b98126;color:#10b981}[data-theme=dark] .location-phase-tag.pre-construction{background:#6366f140;color:#a5b4fc}[data-theme=dark] .location-phase-tag.active{background:#f59e0b40;color:#fbbf24}[data-theme=dark] .location-phase-tag.inspection{background:#8b5cf640;color:#c4b5fd}[data-theme=dark] .location-phase-tag.complete{background:#10b98140;color:#34d399}.map-location-phase-dot{position:absolute;bottom:4px;left:4px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0000004d}.filter-tag{display:inline-block;margin-left:8px;padding:2px 8px;background:var(--accent-primary);color:var(--accent-text);border-radius:10px;font-size:.65rem;font-weight:600;text-transform:capitalize}.overlay-popup{padding:8px 4px}.overlay-popup h4{margin:0 0 4px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.overlay-popup p{margin:0;font-size:.8rem;color:var(--text-secondary)}.overlay-popup .zone-type{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:capitalize}.overlay-popup .zone-type.residential{background:#fcd34d33;color:#b45309}.overlay-popup .zone-type.commercial{background:#f8717133;color:#dc2626}.overlay-popup .zone-type.manufacturing{background:#a78bfa33;color:#7c3aed}.overlay-popup.historic h4{color:#92400e}.overlay-popup.flood .flood-desc{font-size:.7rem;font-style:italic;margin-top:4px;color:var(--text-muted)}.overlay-popup.flood.very-high h4{color:#dc2626}.overlay-popup.flood.high h4{color:#f97316}.overlay-popup.flood.moderate h4{color:#ca8a04}[data-theme=dark] .overlay-popup .zone-type.residential{background:#fcd34d40;color:#fcd34d}[data-theme=dark] .overlay-popup .zone-type.commercial{background:#f8717140;color:#f87171}[data-theme=dark] .overlay-popup .zone-type.manufacturing{background:#a78bfa40;color:#c4b5fd}[data-theme=dark] .overlay-popup.historic h4{color:#fbbf24}[data-theme=dark] .overlay-popup.flood.very-high h4{color:#f87171}[data-theme=dark] .overlay-popup.flood.high h4{color:#fb923c}[data-theme=dark] .overlay-popup.flood.moderate h4{color:#fde047}.map-location-item.has-overdue{border-left:3px solid var(--color-danger)}.pm-stats-controls{position:absolute;top:12px;right:12px;z-index:var(--z-map-controls);display:flex;flex-direction:column;align-items:flex-end}.pm-stats-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .2s;box-shadow:0 2px 8px #0000001a}.pm-stats-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.pm-stats-toggle svg{width:16px;height:16px;flex-shrink:0}.pm-stats-controls.visible .pm-stats-toggle{border-radius:8px 8px 0 0;border-bottom:none}.pm-stats-content{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px 0 8px 8px;padding:12px;box-shadow:0 4px 16px #0000001f;min-width:140px;max-width:160px;margin-top:-1px}.pm-stats-content h4{margin:0 0 10px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.pm-stats-compact{display:flex;flex-direction:column;gap:2px}.pm-stat-row{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:0 -8px;border-radius:4px;font-size:.85rem;color:var(--text-secondary);transition:all .15s}.pm-stat-row:hover{background:var(--bg-hover);color:var(--text-primary)}.pm-stat-row .pm-stat-label{font-weight:600;color:var(--text-primary);min-width:28px}.pm-stat-row .pm-stat-text{color:var(--text-secondary);font-size:.8rem}.pm-stat-row.highlight{background:var(--status-success-bg)}.pm-stat-row.highlight .pm-stat-label,.pm-stat-row.highlight .pm-stat-text{color:var(--status-success-text)}.pm-stat-row.overdue{background:var(--status-danger-bg)}.pm-stat-row.overdue .pm-stat-label,.pm-stat-row.overdue .pm-stat-text{color:var(--status-danger-text)}.phase-bars{display:flex;flex-direction:column;gap:6px}.phase-bar-row{display:flex;align-items:center;gap:8px}.phase-bar-label{width:90px;font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}.phase-bar-track{flex:1;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.phase-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.phase-bar-fill.pre-construction{background:#6366f1}.phase-bar-fill.active{background:#f59e0b}.phase-bar-fill.inspection{background:#8b5cf6}.phase-bar-fill.complete{background:#10b981}.phase-bar-count{width:24px;font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:right}.pm-alert{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:.8rem}.pm-alert.danger{background:var(--status-danger-bg);color:var(--status-danger-text)}.pm-alert svg{flex-shrink:0}.borough-list{display:flex;flex-direction:column;gap:6px}.borough-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--bg-secondary);border-radius:6px}.borough-name{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-primary)}.borough-dot{width:10px;height:10px;border-radius:50%}.borough-stats{font-size:.7rem;color:var(--text-tertiary)}.borough-overdue{color:var(--color-danger);font-weight:600}.filing-types-list{display:flex;flex-direction:column;gap:4px}.filing-type-row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.filing-type-name{font-size:.75rem;color:var(--text-secondary)}.filing-type-count{font-size:.75rem;font-weight:600;color:var(--text-primary)}.deadlines-list{display:flex;flex-direction:column;gap:6px}.deadline-row{display:flex;gap:10px;padding:8px;background:var(--bg-secondary);border-radius:6px;border-left:3px solid var(--border-secondary)}.deadline-row.urgent{border-left-color:var(--color-warning);background:var(--status-warning-bg)}.deadline-date{font-size:.7rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.deadline-info{display:flex;flex-direction:column;gap:2px;min-width:0}.deadline-item{font-size:.75rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-address{font-size:.65rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dob-links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.dob-link{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:6px;font-size:.75rem;color:var(--text-secondary);text-decoration:none;transition:all .15s}.dob-link:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.dob-link svg{flex-shrink:0}.activity-log{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;overflow:hidden}.activity-log-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary)}.activity-log-header h4{margin:0;font-size:.9rem;font-weight:600}.activity-log-list{max-height:300px;overflow-y:auto}.activity-item{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary)}.activity-item:last-child{border-bottom:none}.activity-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-tertiary)}.activity-icon.create{background:var(--status-success-bg);color:var(--status-success-text)}.activity-icon.update{background:var(--status-info-bg);color:var(--status-info-text)}.activity-icon.delete{background:var(--status-danger-bg);color:var(--status-danger-text)}.activity-icon.status{background:var(--status-warning-bg);color:var(--status-warning-text)}.activity-content{flex:1;min-width:0}.activity-text{font-size:.85rem;color:var(--text-primary);margin:0 0 .25rem}.activity-text strong{font-weight:600}.activity-meta{font-size:.75rem;color:var(--text-muted)}.activity-detail{margin-top:.35rem;padding:.35rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.8rem;color:var(--text-tertiary)}.btn-view-all-activity{display:block;width:100%;padding:.6rem;background:var(--bg-tertiary);border:none;color:var(--text-tertiary);font-size:.85rem;cursor:pointer;text-align:center}.btn-view-all-activity:hover{background:var(--bg-hover);color:var(--text-primary)}.attachments-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.attachments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.attachments-header h5{margin:0;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.btn-upload{padding:.35rem .65rem;background:none;border:1px dashed var(--border-secondary);border-radius:6px;color:var(--text-muted);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.35rem}.btn-upload:hover{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--text-secondary)}.attachments-list{display:flex;flex-direction:column;gap:.5rem}.attachment-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-primary)}.attachment-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:4px;color:var(--text-tertiary)}.attachment-info{flex:1;min-width:0}.attachment-name{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-meta{font-size:.75rem;color:var(--text-muted)}.attachment-actions{display:flex;gap:.25rem}.attachment-actions button{padding:.35rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px}.attachment-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.upload-dropzone{border:2px dashed var(--border-secondary);border-radius:8px;padding:2rem;text-align:center;background:var(--bg-tertiary);transition:all .2s;cursor:pointer}.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--accent-primary);background:var(--bg-hover)}.upload-dropzone svg{margin-bottom:.5rem;color:var(--text-muted)}.upload-dropzone p{margin:0;font-size:.9rem;color:var(--text-tertiary)}.upload-dropzone span{font-size:.8rem;color:var(--text-muted)}.document-preview-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:2rem}.document-preview-content{background:var(--bg-secondary);border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.document-preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary)}.document-preview-header h4{margin:0;font-size:.95rem;font-weight:500}.document-preview-body{flex:1;overflow:auto;padding:1rem;display:flex;align-items:center;justify-content:center}.document-preview-body img{max-width:100%;max-height:70vh;-o-object-fit:contain;object-fit:contain}.document-preview-body iframe{width:100%;height:70vh;border:none}.map-overlay-content{background:var(--card-bg);box-shadow:var(--shadow-lg)}.map-sidebar{background:var(--card-bg)}@media(max-width:768px){.map-view{padding:0 1rem 1rem}.map-view-header{flex-direction:column;gap:.75rem;align-items:stretch}.map-view-header h1{font-size:1.25rem}.map-view-header .map-controls{flex-direction:column;gap:.5rem;width:100%}.map-view-header .search-input{width:100%;max-width:100%!important;min-width:0}.map-view-header .phase-filter{width:100%;min-width:0}.map-container{height:calc(100vh - 220px);min-height:400px;border-radius:8px}.map-sidebar{display:none}.map-layer-controls{top:10px;left:10px}.layer-controls-toggle{width:32px;height:32px}.layer-controls-toggle svg{width:14px;height:14px}.layer-controls-content{padding:10px;min-width:120px;max-height:calc(100vh - 290px);overflow-y:auto}.layer-controls-content h4{font-size:.7rem;margin-bottom:8px}.layer-controls-content label{font-size:.75rem;padding:5px 6px;margin:0 -6px}.layer-icon{width:20px;height:20px}.pm-stats-controls{top:10px;right:10px}.pm-stats-toggle{width:32px;height:32px}.pm-stats-toggle svg{width:14px;height:14px}.pm-stats-content{padding:10px;min-width:120px}.pm-stats-content h4{font-size:.7rem;margin-bottom:8px}.pm-stat-row{font-size:.8rem;padding:5px 6px;margin:0 -6px}.map-legend{bottom:20px;left:10px;padding:8px}.legend-section h5{font-size:.55rem}.legend-item{font-size:.6rem;gap:4px}.legend-color{width:8px;height:8px}.map-overlay{top:10px;right:10px}.map-overlay-toggle{width:32px;height:32px}.map-overlay-toggle svg{width:14px;height:14px}.map-overlay-content{max-height:50vh;max-width:260px;overflow-y:auto}.map-overlay-metrics{gap:.5rem}.map-overlay-metric{padding:.5rem}.map-overlay-metric .metric-value{font-size:1.1rem}.map-overlay-metric .metric-label{font-size:.6rem}.map-location-streetview{width:44px;height:44px;min-width:44px}}@media(max-width:480px){.map-view{padding:0 .75rem .75rem}.map-view-header h1{font-size:1.1rem}.map-view-header .map-controls{gap:.4rem}.map-view-header .search-input,.map-view-header .phase-filter{font-size:16px;padding:.6rem 2rem .6rem .75rem}.map-container{height:calc(100vh - 200px);min-height:320px;border-radius:6px}.map-layer-controls{top:8px;left:8px}.layer-controls-toggle{width:30px;height:30px}.layer-controls-toggle svg{width:13px;height:13px}.layer-controls-content{padding:8px;min-width:110px;max-height:calc(100vh - 280px);overflow-y:auto}.layer-controls-content h4{font-size:.65rem;margin-bottom:6px}.layer-controls-content label{font-size:.7rem;padding:4px 5px;gap:6px}.layer-icon{width:18px;height:18px}.layer-icon svg{width:12px;height:12px}.pm-stats-controls{top:8px;right:8px}.pm-stats-toggle{width:30px;height:30px}.pm-stats-toggle svg{width:13px;height:13px}.pm-stats-content{padding:8px;min-width:110px}.pm-stats-content h4{font-size:.65rem;margin-bottom:6px}.pm-stat-row{font-size:.75rem;padding:4px 5px;gap:6px}.map-legend{bottom:16px;left:8px;padding:6px}.legend-section{margin-bottom:6px}.legend-section h5{font-size:.5rem;margin-bottom:3px}.legend-item{font-size:.55rem;gap:3px}.legend-color{width:7px;height:7px}.map-overlay{top:8px;right:8px}.map-overlay-toggle{width:30px;height:30px}.map-overlay-toggle svg{width:13px;height:13px}.map-overlay-content{max-height:40vh;max-width:240px}.map-overlay-header{padding:8px 12px;min-height:40px}.map-overlay-header h3{font-size:.85rem}.map-overlay-metrics{flex-wrap:wrap;padding:10px;gap:6px}.map-overlay-metric{flex:1 1 calc(33% - 6px);min-width:55px;padding:6px 4px}.map-overlay-metric .metric-value{font-size:.95rem}.map-overlay-metric .metric-label{font-size:.55rem}.map-overlay-section{padding:8px 10px}.map-overlay-section h4{font-size:.65rem;margin-bottom:6px}.borough-row,.filing-type-row{padding:3px 0}.borough-name,.filing-type-name,.borough-count,.filing-type-count{font-size:.7rem}.deadline-row{padding:5px 6px}.deadline-item{font-size:.7rem}.deadline-address{font-size:.6rem}.deadline-date{font-size:.65rem}.map-overlay-section:nth-child(n+5){display:none}.leaflet-popup-content{width:min(260px,calc(100vw - 40px))!important}.map-popup-content{min-width:auto}.map-popup-image{height:100px}.map-popup-body{padding:10px}.map-popup-title{font-size:.85rem;margin-bottom:8px}.map-popup-stats{gap:6px;margin-bottom:8px}.map-popup-stat{padding:5px}.map-popup-stat-value{font-size:.9rem}.map-popup-stat-label{font-size:.6rem}.map-popup-progress{margin-bottom:10px}.map-popup-buttons{flex-direction:column;gap:6px}.map-popup-btn{width:100%;justify-content:center;min-height:40px;font-size:.75rem}}@media(max-width:375px){.map-view{padding:0 .5rem .5rem}.map-view-header{gap:.5rem;margin-bottom:.5rem}.map-view-header h1{font-size:1rem}.map-view-header .map-controls{gap:.35rem}.map-view-header .search-input,.map-view-header .phase-filter{padding:.5rem 2rem .5rem .6rem}.map-container{height:calc(100vh - 180px);min-height:280px;border-radius:6px}.map-legend{display:none}.map-layer-controls{top:6px;left:6px}.layer-controls-toggle{width:28px;height:28px}.layer-controls-toggle svg{width:12px;height:12px}.layer-controls-content{padding:6px;min-width:100px;max-height:calc(100vh - 260px);overflow-y:auto}.layer-controls-content h4{display:none}.layer-controls-content label{font-size:.65rem;padding:4px;gap:5px}.layer-icon{width:16px;height:16px}.pm-stats-controls{top:6px;right:6px}.pm-stats-toggle{width:28px;height:28px}.pm-stats-toggle svg{width:12px;height:12px}.pm-stats-content{padding:6px;min-width:100px}.pm-stats-content h4{display:none}.pm-stat-row{font-size:.7rem;padding:4px;gap:5px}.map-overlay{top:6px;right:6px}.map-overlay-toggle{width:28px;height:28px}.map-overlay-toggle svg{width:12px;height:12px}.map-overlay-content{max-height:45vh;max-width:200px}.map-overlay-header{padding:6px 10px;min-height:36px}.map-overlay-header h3{font-size:.8rem}.map-overlay-metrics{padding:8px;gap:4px}.map-overlay-metric{padding:5px 3px}.map-overlay-metric .metric-value{font-size:.9rem}.map-overlay-metric .metric-label{font-size:.5rem}.map-overlay-section{padding:6px 8px}.map-overlay-section h4{font-size:.6rem;margin-bottom:5px}.borough-name,.filing-type-name,.deadline-item{font-size:.65rem}.borough-count,.filing-type-count{font-size:.65rem;padding:1px 4px}.map-overlay-section:nth-child(n+4){display:none}.leaflet-popup-content{width:min(240px,calc(100vw - 50px))!important}.map-popup-image{height:80px}.map-popup-body{padding:8px}.map-popup-title{font-size:.8rem;margin-bottom:6px}.map-popup-stats{gap:4px}.map-popup-stat{padding:4px}.map-popup-stat-value{font-size:.85rem}.map-popup-btn{min-height:38px;padding:6px 10px}}@media(max-width:320px){.map-view{padding:0 .35rem .35rem}.map-view-header h1{font-size:.9rem}.map-container{height:calc(100vh - 160px);min-height:250px}.map-layer-controls{top:4px;left:4px}.layer-controls-toggle{width:26px;height:26px}.layer-controls-toggle svg{width:11px;height:11px}.layer-controls-content{padding:5px;min-width:90px;max-height:calc(100vh - 240px);overflow-y:auto}.layer-controls-content label{font-size:.6rem;padding:3px;gap:4px}.layer-icon{width:14px;height:14px}.pm-stats-controls{top:4px;right:4px}.pm-stats-toggle{width:26px;height:26px}.pm-stats-toggle svg{width:11px;height:11px}.pm-stats-content{padding:5px;min-width:90px}.pm-stat-row{font-size:.6rem;padding:3px;gap:4px}.leaflet-popup-content{width:calc(100vw - 60px)!important;max-width:220px!important}.map-popup-content{min-width:auto}.map-popup-image{height:70px}.map-popup-body{padding:6px}.map-popup-title{font-size:.75rem;margin-bottom:5px}.map-popup-stats{gap:3px;margin-bottom:6px}.map-popup-stat{padding:3px}.map-popup-stat-value{font-size:.8rem}.map-popup-stat-label{font-size:.5rem}.map-popup-btn{min-height:36px;padding:5px 8px;font-size:.7rem}.map-overlay{top:4px;right:4px}.map-overlay-toggle{width:26px;height:26px}.map-overlay-toggle svg{width:11px;height:11px}.map-overlay-content{max-height:50vh;max-width:180px}.map-overlay-header h3{font-size:.75rem}.map-overlay-metric .metric-value{font-size:.85rem}.map-overlay-metric .metric-label{font-size:.45rem}}.bulk-status-menu{position:absolute;top:100%;left:0;margin-top:.25rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;box-shadow:var(--shadow-md);z-index:var(--z-dropdowns);min-width:180px;max-height:300px;overflow:auto}.bulk-status-menu button{display:block;width:100%;padding:.5rem .75rem;text-align:left;background:none;border:none;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background .15s}.bulk-status-menu button:hover{background:var(--bg-hover)}@media(max-width:480px){.bulk-status-menu{position:fixed;left:1rem;right:1rem;width:auto;max-width:calc(100vw - 2rem);bottom:auto;top:auto;margin-top:.5rem}}.settings-page{width:100%;max-width:1600px;margin:0 auto;padding:2rem 2.5rem 3rem}.settings-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.settings-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--card-bg);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.settings-back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-header h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{display:grid;grid-template-columns:220px 1fr;gap:2rem;align-items:start}.settings-section-header{padding-top:.25rem}.settings-section-header h2{margin:0 0 .35rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.settings-section-header p{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.5}.settings-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm)}.profile-header-row{display:flex;align-items:flex-start;gap:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary);margin-bottom:1.5rem}.profile-avatar-area{flex-shrink:0}.settings-avatar{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;cursor:pointer;border:3px solid var(--bg-tertiary);transition:transform .2s,box-shadow .2s}.settings-avatar:hover{transform:scale(1.05);box-shadow:0 4px 16px #00000026}.settings-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.settings-avatar-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-muted)}.settings-avatar-edit{position:absolute;bottom:0;right:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);border-radius:50%;color:var(--accent-text);box-shadow:0 2px 6px #0003}.profile-info-area{flex:1;min-width:0;display:flex;align-items:center;gap:2rem}.profile-name-title{min-width:0}.profile-display-name{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.profile-display-title{margin:.25rem 0 0;font-size:.9rem;color:var(--text-muted)}.profile-stats-row{display:flex;gap:1.5rem;flex-shrink:0}.profile-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg-tertiary);padding:.75rem 1.25rem;border-radius:8px;border:1px solid var(--border-primary);min-width:80px}.profile-stat-item .stat-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.profile-stat-item .stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.settings-btn-edit{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;margin-left:auto;flex-shrink:0}.settings-btn-edit:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.settings-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.settings-detail-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:8px}.detail-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);flex-shrink:0}.detail-content{display:flex;flex-direction:column;min-width:0}.detail-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.9rem;color:var(--text-primary);word-break:break-word}.settings-form{padding-top:1.5rem;border-top:1px solid var(--border-primary);margin-top:-1.5rem}.settings-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.settings-field{display:flex;flex-direction:column;gap:.4rem}.settings-field.full-width{grid-column:1 / -1}.settings-field label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.settings-field input{width:100%;padding:.7rem .875rem;font-size:.9rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s,background .2s}.settings-field input:focus{outline:none;border-color:var(--border-secondary, var(--border-primary));background:var(--bg-primary)}.settings-field input::-moz-placeholder{color:var(--text-muted)}.settings-field input::placeholder{color:var(--text-muted)}.settings-field input.readonly{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.8}.settings-form-actions{display:flex;gap:.75rem;margin-top:1.5rem;justify-content:flex-end}.integration-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.integration-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.integration-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-tertiary);color:var(--text-tertiary);flex-shrink:0}.integration-info h4{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.integration-info p{margin:0;font-size:.8rem;color:var(--text-muted)}.integration-connected{margin-top:.5rem!important;font-size:.75rem!important;color:var(--color-success)!important;font-weight:500}.settings-card.danger-zone{border-color:var(--border-primary)}.danger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.danger-info h4{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.danger-info p{margin:0;font-size:.8rem;color:var(--text-muted)}.settings-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.settings-btn.primary{background:var(--accent-primary);border:none;color:var(--accent-text)}.settings-btn.primary:hover{opacity:.9}.settings-btn.secondary{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary)}.settings-btn.secondary:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-btn.connect{background:var(--color-outlook);border:none;color:#fff}.settings-btn.connect:hover{filter:brightness(.9)}.settings-btn.disconnect{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary)}.settings-btn.disconnect:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.settings-btn.logout{background:transparent;border:1px solid var(--border-primary);color:var(--text-secondary)}.settings-btn.logout:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-secondary)}.settings-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.settings-section{grid-template-columns:1fr;gap:1rem}}@media(max-width:640px){.settings-page{padding:1.5rem 1rem}.settings-header{margin-bottom:1.5rem}.settings-header h1{font-size:1.5rem}.settings-content{gap:2rem}.profile-header-row{flex-direction:column;align-items:center;text-align:center}.profile-info-area{display:flex;flex-direction:column;align-items:center}.profile-name-title{text-align:center}.profile-stats-row{justify-content:center}.settings-btn-edit{margin-left:0;width:100%;justify-content:center}.settings-details,.settings-form-grid{grid-template-columns:1fr}.settings-form-actions{flex-direction:column}.settings-form-actions .settings-btn{width:100%}.integration-row{flex-direction:column;align-items:stretch}.integration-left{margin-bottom:1rem}.settings-btn.connect,.settings-btn.disconnect{width:100%}.danger-row{flex-direction:column;align-items:stretch;text-align:center}.danger-info{margin-bottom:1rem}.settings-btn.logout{width:100%}}.legend-dot.outlook{background:var(--color-outlook)}.day-item.outlook{color:var(--color-outlook)}.day-item.outlook .day-item-dot{background:var(--color-outlook)}.calendar-item.outlook{border-left:3px solid var(--color-outlook);background:var(--color-outlook-light)}.calendar-item.outlook .item-status-dot{background:var(--color-outlook)}.item-status-badge.outlook{background:var(--color-outlook-light);color:var(--color-outlook)}.outlook-refresh{display:flex;align-items:center;justify-content:center;padding:.5rem}.outlook-refresh svg.spinning{animation:spin 1s linear infinite}.outlook-loading,.outlook-error{font-size:.8rem;padding:.5rem 1rem;border-radius:6px;margin-top:.5rem}.outlook-loading{background:var(--color-outlook-light);color:var(--color-outlook)}.outlook-error{background:var(--status-danger-bg);color:var(--status-danger-text)}.profile-integrations{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.integrations-title{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.integration-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px}.integration-info{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.integration-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--bg-secondary);color:var(--text-tertiary)}.integration-icon.outlook{background:var(--color-outlook-light);color:var(--color-outlook)}.integration-details{display:flex;flex-direction:column;gap:.25rem}.integration-name{font-size:.9rem;font-weight:500;color:var(--text-primary)}.integration-status{font-size:.75rem;color:var(--text-muted)}.profile-btn.connect{background:#0078d4;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.profile-btn.connect:hover{background:#106ebe}.profile-btn.connect:disabled,.profile-btn.disconnect:disabled{opacity:.6;cursor:not-allowed}.profile-btn.disconnect{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s}.profile-btn.disconnect:hover{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-text)}@media(max-width:480px){.integration-item{flex-direction:column;gap:1rem;align-items:stretch}.integration-info{justify-content:flex-start}.profile-btn.connect,.profile-btn.disconnect{width:100%;justify-content:center}}.search-page{height:calc(100vh - 60px);max-height:calc(100vh - 60px);display:flex;flex-direction:column;overflow:hidden}.search-landing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 2rem 5rem;overflow:hidden;position:relative}.search-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.search-logo h1{margin:1rem 0 .25rem;font-size:2.5rem;font-weight:700;color:var(--text-primary)}.search-tagline{margin:0;font-size:1rem;color:var(--text-muted)}.search-box-container{width:100%;max-width:640px}.search-box{display:flex;align-items:center;width:100%;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:28px;padding:.75rem 1.25rem;transition:all .2s;box-shadow:var(--shadow-sm)}.search-box:hover{box-shadow:var(--shadow-md)}.search-box:focus-within{box-shadow:var(--shadow-md);border-color:var(--border-secondary, var(--border-primary));outline:none}.search-box-icon{color:var(--text-muted);margin-right:.75rem;flex-shrink:0}.search-box-input{flex:1;border:none;background:transparent;font-size:1.1rem;color:var(--text-primary);outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-box-input:focus{border:none;outline:none;box-shadow:none}.search-box-input::-moz-placeholder{color:var(--text-muted)}.search-box-input::placeholder{color:var(--text-muted)}.search-box-clear{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:all .15s}.search-box-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.search-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem}.search-btn{padding:.85rem 2rem;font-size:.95rem;font-weight:500;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.search-btn.primary{background:var(--accent-primary);color:var(--accent-text)}.search-btn.primary:hover:not(:disabled){opacity:.9}.search-btn.primary:disabled{opacity:.6;cursor:not-allowed}.search-btn.mode-toggle{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);font-size:.85rem;padding:.7rem 1.2rem}.search-btn.mode-toggle:hover{background:var(--bg-hover);border-color:var(--accent-primary)}.search-btn.mode-toggle.code-mode{border-color:var(--accent-success);color:var(--accent-success)}.search-btn.mode-toggle.full-mode{border-color:var(--accent-warning);color:var(--accent-warning)}.search-mode-toggle{display:flex;gap:.5rem}.mode-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:20px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.mode-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-secondary)}.mode-btn.active{background:var(--bg-primary);border-color:var(--accent-primary);color:var(--text-primary)}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.mode-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.mode-dot.claude{background:#d97706}.mode-dot.openai{background:#10a37f}.search-title{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}.search-title h1{font-size:3rem;font-weight:700;color:var(--text-primary);margin:0}.search-mode-switch{display:flex;width:50%;max-width:240px;height:36px;margin:0 auto 1.5rem;border:1px solid var(--border-primary);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.search-mode-switch .mode-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:0;height:100%;background:transparent;border:none;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.search-mode-switch .mode-option:first-child{border-right:1px solid var(--border-primary);border-radius:7px 0 0 7px}.search-mode-switch .mode-option:last-child{border-radius:0 7px 7px 0}.search-mode-switch .mode-option:hover:not(.active){background:var(--bg-hover);color:var(--text-secondary)}.search-mode-switch .mode-option.active{background:var(--accent-primary);color:var(--accent-text)}.search-mode-switch .mode-option svg{width:14px;height:14px;opacity:.8}.search-mode-switch .mode-option.active svg{opacity:1}.search-error{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:var(--status-danger-bg);color:var(--status-danger-text);border-radius:8px;font-size:.85rem}.search-suggestions{margin-top:2.5rem;text-align:center;width:100%;max-width:720px}.suggestions-label{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted)}.suggestions-grid{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.suggestion-chip{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:20px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.suggestion-chip:hover{background:var(--bg-hover);border-color:var(--border-secondary);color:var(--text-primary)}.suggestion-chip svg{color:var(--text-muted)}.search-footer{position:absolute;bottom:2rem;left:0;right:0}.search-capabilities{display:flex;gap:2rem;justify-content:center;margin-top:2rem}.capability{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;color:var(--text-muted);min-width:130px}.capability svg{color:var(--text-tertiary)}.search-results-view{flex:1;display:flex;flex-direction:column;max-width:900px;margin:0 auto;width:100%;padding-bottom:80px;overflow-y:auto}.search-followup-bar{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:var(--bg-secondary);border-top:1px solid var(--border-primary);position:fixed;bottom:0;left:0;right:0;z-index:100}.followup-input-wrapper{flex:1;max-width:800px;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:24px;transition:all .2s}.followup-input-wrapper:focus-within{box-shadow:var(--shadow-md)}.followup-input-wrapper svg{color:var(--text-muted);flex-shrink:0}.followup-input-wrapper input{flex:1;border:none;background:transparent;font-size:.95rem;color:var(--text-primary);outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.followup-input-wrapper input:focus{border:none;outline:none;box-shadow:none}.followup-input-wrapper input::-moz-placeholder{color:var(--text-muted)}.followup-input-wrapper input::placeholder{color:var(--text-muted)}.followup-clear-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%}.followup-clear-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.followup-send-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-primary);border:none;border-radius:50%;color:var(--accent-text);cursor:pointer;transition:all .2s;flex-shrink:0}.followup-send-btn:hover:not(:disabled){opacity:.9}.followup-send-btn:disabled{opacity:.5;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.new-search-btn{padding:.6rem 1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:24px;font-size:.9rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;justify-content:center}.new-search-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-results-content{flex:1;max-width:800px;width:100%;margin:0 auto;padding:1.5rem 2rem;overflow-y:auto}.result-message{margin-bottom:1.5rem}.user-query{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-tertiary);border-radius:12px}.query-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border-radius:8px;color:var(--text-muted);flex-shrink:0}.user-query span{font-size:1rem;color:var(--text-primary);line-height:1.5;padding-top:.25rem}.ai-response{padding:1rem 0}.response-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.response-header span{font-size:.9rem;font-weight:600;color:var(--text-primary)}.response-mode{padding:.2rem .5rem;background:var(--bg-tertiary);border-radius:4px;font-size:.7rem!important;font-weight:500!important;color:var(--text-muted)!important}.response-mode.claude{background:#d9770626;color:#d97706!important}.response-mode.openai{background:#10a37f26;color:#10a37f!important}.response-content{color:var(--text-primary);line-height:1.7}.response-content p{margin:0 0 1rem}.response-content p:last-child{margin-bottom:0}.response-content ul,.response-content ol{margin:0 0 1rem;padding-left:1.5rem}.response-content li{margin-bottom:.5rem}.response-content code{padding:.2rem .4rem;background:var(--bg-tertiary);border-radius:4px;font-size:.9em}.response-content pre{padding:1rem;background:var(--bg-tertiary);border-radius:8px;overflow-x:auto}.response-content pre code{padding:0;background:none}.response-content h1,.response-content h2,.response-content h3{margin:1.5rem 0 .75rem;color:var(--text-primary)}.response-content h1:first-child,.response-content h2:first-child,.response-content h3:first-child{margin-top:0}.response-content a{color:var(--accent-primary);text-decoration:none;transition:color .2s}.response-content a:hover{color:var(--accent-hover);text-decoration:underline}.response-content strong+ul a,.response-content strong+ol a{display:inline-flex;align-items:center;gap:.25rem}.response-content strong+ul a:after,.response-content strong+ol a:after{content:"↗";font-size:.75em;opacity:.7}.response-loading{display:flex;align-items:center;gap:1rem;color:var(--text-muted)}.loading-dots{display:flex;gap:4px}.loading-dots span{width:8px;height:8px;background:var(--text-muted);border-radius:50%;animation:loadingDot 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.response-loading p{margin:0;font-size:.9rem}.result-error{display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--status-danger-bg);color:var(--status-danger-text);border-radius:8px;font-size:.9rem}.search-results-footer{padding:1rem 2rem;text-align:center;border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.search-results-footer p{margin:0;font-size:.8rem;color:var(--text-muted)}@media(max-width:768px){.search-landing{padding:1.5rem 1.5rem 6rem}.search-footer{bottom:1.5rem}.search-logo h1{font-size:2rem}.search-tagline{font-size:.9rem}.search-box{padding:.6rem 1rem}.search-box-input{font-size:1rem}.search-capabilities{flex-direction:column;gap:.75rem;align-items:center}.search-followup-bar{padding:.75rem 1rem;gap:.5rem}.followup-input-wrapper{padding:.5rem .75rem}.new-search-btn{padding:.5rem 1rem;font-size:.8rem;border-radius:20px}.search-results-content{padding:1rem}}@media(max-width:480px){.search-landing{padding:1rem 1rem 7rem}.search-footer{bottom:1rem}.search-logo h1{font-size:1.75rem}.suggestions-grid{gap:.35rem}.suggestion-chip{padding:.5rem .75rem;font-size:.8rem}.new-search-btn{padding:.5rem .875rem;font-size:.8rem;border-radius:18px}}.public-chat{min-height:100vh;background:var(--bg-primary)}.public-chat .main-content{padding:0;height:100vh}.public-search-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);position:relative}.public-theme-toggle{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:10px;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100}.public-theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-secondary)}.public-search-landing{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1.5rem}.public-search-hero{display:flex;flex-direction:column;align-items:center;text-align:center}.public-search-hero h1{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:1rem 0 .5rem}.public-search-hero p{color:var(--text-secondary);font-size:1.0625rem;max-width:600px}.public-search-input-area{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1rem}.public-search-box{display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:12px;padding:.25rem .25rem .25rem 1.25rem;transition:border-color .2s,box-shadow .2s}.public-search-box:focus-within{border-color:var(--border-secondary, var(--border-primary))}.public-search-box input{flex:1;background:transparent;border:none;outline:none;font-size:1.0625rem;color:var(--text-primary);padding:.75rem 0}.public-search-box input::-moz-placeholder{color:var(--text-tertiary)}.public-search-box input::placeholder{color:var(--text-tertiary)}.public-search-submit{width:44px;height:44px;border-radius:10px;background:var(--accent-primary);border:none;color:var(--accent-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .1s;flex-shrink:0}.public-search-submit:hover:not(:disabled){background:var(--accent-primary-hover)}.public-search-submit:active:not(:disabled){transform:scale(.95)}.public-search-submit:disabled{opacity:.5;cursor:not-allowed}.public-search-chips{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.public-search-chips .chip-label{color:var(--text-tertiary);font-size:.8125rem}.public-search-chips button{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);padding:.4rem .875rem;border-radius:20px;font-size:.8125rem;cursor:pointer;transition:all .2s}.public-search-chips button:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--text-primary)}.public-search-sources{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.source-item{display:flex;align-items:center;gap:.5rem;color:var(--text-tertiary);font-size:.8125rem}.source-item svg{opacity:.6}.public-search-error{display:flex;align-items:center;gap:.5rem;color:var(--error);font-size:.875rem;padding:.75rem 1rem;background:#ef44441a;border-radius:8px}.public-search-footer{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);text-align:center}.public-search-footer a{color:var(--text-tertiary);font-size:.8125rem;text-decoration:none;transition:color .2s}.public-search-footer a:hover{color:var(--text-secondary)}.public-search-chat{flex:1;display:flex;flex-direction:column;height:100vh}.public-chat-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border-primary) 50%,transparent);z-index:100}.public-chat-header .back-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.public-chat-header .back-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.public-chat-header .header-title{display:flex;align-items:center;gap:.375rem;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:1.25rem;line-height:1;letter-spacing:-.02em;color:var(--text-primary)}.public-chat-header .new-chat-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:6px;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.public-chat-header .new-chat-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.public-chat-messages{flex:1;overflow-y:auto;padding:4rem 1.5rem 6.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.user-bubble{background:var(--accent-primary);color:var(--accent-text);padding:.75rem 1rem;border-radius:16px 16px 4px;max-width:80%;font-size:.9375rem;line-height:1.5}.assistant-bubble{background:var(--bg-secondary);border:1px solid var(--border-primary);padding:1rem 1.25rem;border-radius:16px 16px 16px 4px;max-width:85%;font-size:.9375rem;line-height:1.6}.assistant-bubble p{margin:0 0 .75rem}.assistant-bubble p:last-child{margin-bottom:0}.assistant-bubble ul,.assistant-bubble ol{margin:.5rem 0;padding-left:1.25rem}.assistant-bubble li{margin-bottom:.25rem}.assistant-bubble strong{color:var(--text-primary)}.assistant-bubble.loading{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;background:var(--text-tertiary);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-text{color:var(--text-tertiary);font-size:.875rem}.logo-animated{color:var(--accent-primary)}.logo-animated .dot{animation:logoFlicker 1.8s infinite ease-in-out}.logo-animated .dot-1{animation-delay:0s}.logo-animated .dot-2{animation-delay:.1s}.logo-animated .dot-3{animation-delay:.2s}.logo-animated .dot-4{animation-delay:.15s}.logo-animated .dot-5{animation-delay:.25s}.logo-animated .dot-6{animation-delay:.35s}.logo-animated .dot-7{animation-delay:.3s}.logo-animated .dot-8{animation-delay:.4s}.logo-animated .dot-9{animation-delay:.5s}@keyframes logoFlicker{0%,to{opacity:.3}50%{opacity:1}}.loading-indicator-logo{display:flex;align-items:center;gap:.75rem}.chat-error{display:flex;align-items:center;gap:.5rem;color:var(--error);font-size:.875rem;padding:.75rem 1rem;background:#ef44441a;border-radius:8px}.public-chat-input{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-top:1px solid var(--border-primary);z-index:100}.public-chat-input input{flex:1;height:44px;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:10px;padding:0 1rem;font-size:.9375rem;color:var(--text-primary);outline:none;transition:border-color .2s;box-sizing:border-box}.public-chat-input input:focus{border-color:var(--border-secondary, var(--border-primary))}.public-chat-input input::-moz-placeholder{color:var(--text-tertiary)}.public-chat-input input::placeholder{color:var(--text-tertiary)}.public-chat-input .send-btn{width:44px;height:44px;border-radius:10px;background:var(--accent-primary);border:none;color:var(--accent-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .1s;flex-shrink:0}.public-chat-input .send-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.public-chat-input .send-btn:active:not(:disabled){transform:scale(.95)}.public-chat-input .send-btn:disabled{opacity:.5;cursor:not-allowed}.public-chat-input .btn-spinner{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;opacity:.6}@media(max-width:640px){.public-search-landing{padding:1.5rem;gap:2rem}.public-search-hero h1{font-size:1.875rem}.public-search-hero p{font-size:.9375rem}.public-search-box input{font-size:1rem}.public-search-sources{gap:1rem}.source-item span{display:none}.public-chat-messages{padding:1rem 1rem 6.5rem}.user-bubble,.assistant-bubble{max-width:90%}}.public-search-page.in-app{min-height:calc(100vh - 60px);height:calc(100vh - 60px)}.public-search-page.in-app .public-search-landing{padding-top:1rem}.public-search-page.in-app .search-mode-switch{display:flex;background:var(--bg-secondary);border-radius:10px;padding:4px;border:1px solid var(--border-primary);margin-bottom:.5rem}.public-search-page.in-app .search-mode-switch .mode-option{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.public-search-page.in-app .search-mode-switch .mode-option.active{background:var(--accent-primary);color:var(--accent-text)}.public-search-page.in-app .search-mode-switch .mode-option:not(.active):hover{background:var(--bg-hover);color:var(--text-primary)}.public-search-page.in-app .public-search-chat.in-app-chat{height:calc(100vh - 60px)}.public-search-page.in-app .public-chat-messages{padding-top:1.5rem;padding-bottom:5.5rem}.public-search-page.in-app .public-chat-input{position:absolute;background:color-mix(in srgb,var(--bg-secondary) 95%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.public-search-page.in-app .public-chat-input .new-chat-btn.icon-only{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:10px;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0}.public-search-page.in-app .public-chat-input .new-chat-btn.icon-only:hover{background:var(--bg-hover);color:var(--text-primary)}
