/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,: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-outline-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[mailto\:addr\]{mailto:addr}.\[mailto\:pat\.k\@example\.test\]{mailto:pat.k@example.test}}:root{--red:#1d57c3;--red-dark:#16469e;--red-light:#eef3fd;--navy:#172b3d;--navy-dark:#172b3d;--navy-light:#eef1f9;--charcoal:#3a3a3a;--color-bg:#f6f7f7;--color-surface:#fff;--color-surface-2:#f9fafb;--color-border:#d1d5db;--color-border-light:#e5e7eb;--color-text:#3a3a3a;--color-text-2:#374151;--color-text-3:#6b7280;--color-accent:#1d57c3;--color-accent-hover:#16469e;--color-accent-light:#eef3fd;--color-navy:#172b3d;--color-navy-dark:#172b3d;--color-navy-light:#eef1f9;--color-gold:#d97706;--color-green:#16a34a;--color-green-dim:#dcfce7;--sidebar-bg:#172b3d;--input-bg:#fff;--bg:var(--color-bg);--surface:var(--color-surface);--surface-2:var(--color-surface-2);--border:var(--color-border);--accent:var(--color-accent);--accent-hover:var(--color-accent-hover);--text:var(--color-text);--text-muted:var(--color-text-3);--success:var(--color-green);--warning:var(--color-gold);--danger:#dc2626}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}input,select,textarea,button{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-light)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.preview-banner{color:#172b3d;text-align:center;background:#eaf1fe;border-bottom:1px solid #d5e1f8;min-height:30px;padding:7px 12px;font-size:11px;font-weight:600}.crm-layout{height:calc(100dvh - 30px)}.wordmark{letter-spacing:-1px;color:inherit;font-size:23px;font-weight:800}.sidebar-preview{color:#bbd0f7;padding-top:7px;font-size:10px}.crm-sidebar .wordmark{color:#fff}.mobile-signout{display:none}.primary-button,.secondary-button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.primary-button{background:var(--color-accent);color:#fff;border:1px solid var(--color-accent)}.primary-button:hover{background:var(--color-accent-hover)}.secondary-button{border:1px solid var(--color-border);color:var(--color-text-2);background:#fff}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #1d57c3}.error-banner{color:#991b1b;background:#fef2f2;margin:0;padding:10px 16px;font-size:13px}.success-banner{color:#166534;background:#dcfce7;padding:10px 16px}.page-content{padding:24px}.board-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.board-header{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:16px 20px 0}.board-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.board-heading h1{letter-spacing:-.4px;margin:0;font-size:18px;font-weight:800}.board-heading p{color:var(--text-muted);margin:3px 0 0;font-size:12px}.header-actions{flex-wrap:wrap;gap:8px;display:flex}.stats-strip{gap:10px;padding-bottom:14px;display:flex;overflow-x:auto}.board-filters{flex-wrap:wrap;gap:8px;padding-bottom:12px;display:flex}.board-filters input,.board-filters select{background:var(--surface-2);border:1px solid var(--border);min-width:0;max-width:240px;color:var(--text);border-radius:6px;padding:6px 10px;font-size:12px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.field{color:var(--color-text-2);flex-direction:column;gap:5px;min-width:0;margin:0;font-size:11px;font-weight:600;display:flex}.field input,.field select,.field textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--input-bg);border-radius:6px;padding:7px 10px;font-size:13px;font-weight:400}.field textarea{resize:vertical}.full-width{grid-column:1/-1}fieldset.field{border:1px solid var(--border);border-radius:6px;padding:10px}.service-options{flex-wrap:wrap;gap:9px 14px;display:flex}.service-options label,.checkbox-field{flex-direction:row;align-items:center;gap:6px;display:flex}.service-options input,.checkbox-field input{width:auto}.form-fields{border:0;min-width:0;margin:0;padding:0}.login-shell{justify-content:center;align-items:center;min-height:calc(100dvh - 30px);padding:20px;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:12px;width:390px;max-width:100%;overflow:hidden;box-shadow:0 8px 32px #0000001f}.login-card header{color:#fff;text-align:center;background:#172b3d;padding:28px 25px 20px}.login-card h1{font-size:18px}.login-card header p{text-transform:uppercase;letter-spacing:2px;color:#bed3fc;font-size:11px}.login-body{padding:22px 26px 28px}.login-body h2{font-size:16px}.login-body p{color:var(--text-muted);font-size:13px;line-height:1.5}.identity-button{width:100%;margin-top:10px}.assessment-page{max-width:820px;margin:auto;padding:28px 20px}.assessment-header{color:#172b3d;align-items:center;gap:20px;margin-bottom:20px;display:flex}.assessment-header h1{margin:0;font-size:24px}.assessment-header p{font-size:13px}.assessment-card,.detail-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:18px;padding:22px}.assessment-card p{font-size:13px;line-height:1.5}.assessment-card [role=status] .secondary-button{margin:16px}.detail-page{padding:20px;overflow:auto}.detail-heading h1{margin:14px 0 8px;font-size:24px}.detail-heading p{color:var(--text-muted);font-size:13px}.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:18px;display:grid}.detail-card h2{margin:0 0 16px;font-size:16px}.detail-card p,.detail-card li{font-size:13px;line-height:1.6}.stage-badge{color:#1d57c3;background:#eef3fd;border-radius:4px;padding:4px 8px;font-size:12px}.emergency-badge{color:#991b1b;background:#fee2e2;border-radius:4px;margin-left:6px;padding:4px 6px;font-size:11px}.activity-note{background:#f6f7f7;border-left:3px solid #1d57c3;margin-top:14px;padding:10px}.activity-note small{color:var(--text-muted);margin-top:4px;display:block}.activity-note p{white-space:pre-wrap;overflow-wrap:anywhere}.modal-backdrop{z-index:1000;background:#172b3d80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:12px;width:750px;max-width:100%;max-height:90dvh;padding:24px;overflow:auto;box-shadow:0 15px 50px #0004}.modal-heading{justify-content:space-between;align-items:center;display:flex}.detail-heading .header-actions{margin-top:10px}.danger-button{cursor:pointer;color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.danger-button:hover{background:#fee2e2}.confirm-dialog{background:#fff;border-radius:12px;width:420px;max-width:100%;padding:22px;box-shadow:0 15px 50px #0004}.confirm-dialog h2{margin:0 0 8px;font-size:16px}.confirm-dialog p{color:var(--color-text-2);font-size:13px;line-height:1.5}.confirm-dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.presence-banner{background:var(--color-accent-light);color:var(--color-navy);border:1px solid #1d57c34d;border-radius:8px;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;font-size:13px;display:flex}.presence-banner-dismiss{cursor:pointer;color:var(--color-navy);background:0 0;border:none;padding:2px 6px;font-size:14px}.info-banner{background:var(--color-accent-light);color:var(--color-navy);padding:8px 20px;font-size:12px}.link-button{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.activity-note-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.activity-note-head strong{font-size:12px}.activity-type-badge{text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.import-dropzone{border:2px dashed var(--color-border);text-align:center;cursor:pointer;background:var(--color-surface-2);color:var(--color-text-2);border-radius:10px;padding:40px 20px;font-size:13px;transition:all .15s}.import-dropzone.dragging{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.import-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:14px 0;display:grid}.import-summary-strip{flex-wrap:wrap;gap:16px;padding:12px 0;font-size:13px;display:flex}.import-summary-strip strong{color:var(--color-navy);font-size:20px;display:block}.import-error-list{background:var(--color-surface-2);border:1px solid var(--color-border);color:#991b1b;border-radius:6px;max-height:180px;padding:10px 12px;font-size:12px;overflow-y:auto}.import-progress-track{background:var(--color-surface-2);border-radius:99px;height:8px;margin:14px 0 8px;overflow:hidden}.import-progress-fill{background:var(--color-accent);height:100%;transition:width .2s}.modal-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:16px;display:flex}.score-grade{border-radius:3px;padding:2px 6px;font-size:9px;font-weight:800}.followup-status{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:9px;font-weight:700}.followup-status-overdue{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.followup-status-today{color:#d97706;background:#d977061f;border:1px solid #d9770659}.followup-status-upcoming{color:#16a34a;background:#16a34a1a;border:1px solid #16a34a4d}.followup-status-future{color:var(--color-text-3);background:#6b72801f;border:1px solid #6b72804d}.followups-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.followups-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 12px;display:flex}.followups-header h1{letter-spacing:-.4px;margin:0;font-size:18px;font-weight:800}.followups-header p{color:var(--color-text-3);margin:2px 0 0;font-size:12px}.followups-overdue-count{color:#ef4444;font-weight:600}.followups-tabs{flex-wrap:wrap;gap:6px;display:flex}.followups-tab{cursor:pointer;border:1px solid var(--color-border);color:var(--color-text-2);background:0 0;border-radius:6px;padding:5px 12px;font-size:12px}.followups-tab.active{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent);font-weight:600}.followups-table-wrap{flex:1;overflow:auto}.followups-table{border-collapse:collapse;width:100%;min-width:760px;font-size:12px}.followups-table th{background:var(--color-surface-2);text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-3);border-bottom:2px solid var(--color-border);white-space:nowrap;padding:8px 10px;font-size:10px;font-weight:700;position:sticky;top:0}.followups-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text-2);padding:9px 10px}.followups-row{cursor:pointer}.followups-row:hover{background:var(--color-surface-2)}.followups-name-link{color:var(--color-text);font-weight:600;text-decoration:none}.followups-name-link:hover{text-decoration:underline}.followups-org{color:var(--color-text-3);margin-top:1px;font-size:10px;font-weight:400}.followups-overdue-date{color:#ef4444;font-weight:600}.followups-sort-button{cursor:pointer;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;background:0 0;border:none;padding:0}.followups-activity{max-width:240px}.followups-activity-body{-webkit-line-clamp:2;color:var(--color-text-3);-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.followups-activity-empty{color:var(--color-text-3);font-size:11px;font-style:italic}@media (width<=700px){.mobile-signout{color:#fff;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:7px;font-size:10px;display:block}.preview-banner{min-height:34px;font-size:9px}.crm-layout{flex-direction:column;height:calc(100dvh - 34px)}.crm-sidebar{align-items:center;min-height:57px;padding:0 8px;flex-direction:row!important;width:100%!important}.crm-sidebar>div:first-child{border:0!important;padding:8px!important}.crm-sidebar>div:first-child>div:first-child{margin:0!important}.crm-sidebar>div:first-child>div:first-child>div,.crm-sidebar>div:first-child>div:not(:first-child),.sidebar-preview{display:none!important}.crm-sidebar nav{display:flex;overflow-x:auto;padding:6px!important}.crm-sidebar nav a{white-space:nowrap;font-size:11px!important}.crm-sidebar nav a svg,.crm-sidebar>div:last-child{display:none}.board-header{padding:12px 12px 0}.board-heading{flex-direction:column;align-items:flex-start;gap:8px}.board-heading h1{font-size:17px}.header-actions .secondary-button,.header-actions .primary-button{padding:7px 10px;font-size:11px}.board-filters{flex-wrap:nowrap;overflow-x:auto}.board-filters input,.board-filters select{flex-shrink:0;max-width:160px}.stats-strip>div{min-width:118px!important;padding:10px 12px!important}.stats-strip>div>div:nth-child(2){font-size:23px!important}.detail-grid{grid-template-columns:1fr}.detail-page{padding:14px}.detail-card{padding:16px}.field-grid{grid-template-columns:1fr}.assessment-page{padding:20px 12px}.assessment-header h1{font-size:20px}.assessment-header{gap:12px}.assessment-card{padding:16px}.modal-backdrop{padding:10px}.modal-card{padding:16px}.followups-header{flex-direction:column;align-items:flex-start;padding:12px}.followups-tabs{flex-wrap:nowrap;max-width:100%;overflow-x:auto}.import-mapping-grid{grid-template-columns:1fr}}@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-outline-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}.projects-page,.project-detail{flex-direction:column;height:100%;display:flex;overflow:hidden}.projects-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.projects-header h1{letter-spacing:-.4px;margin:0;font-size:18px;font-weight:800}.projects-header p{color:var(--color-text-3);margin:2px 0 0;font-size:12px}.projects-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.projects-body,.project-body{flex:1;padding:20px 24px;overflow-y:auto}.projects-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px #0000000f}.projects-table{border-collapse:collapse;width:100%;min-width:780px}.projects-table th{text-align:left;color:var(--color-text-3);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap;border-bottom:1px solid var(--color-border);background:var(--color-surface-2);padding:10px 14px;font-size:10px;font-weight:700}.projects-table td{color:var(--color-text);vertical-align:middle;border-bottom:1px solid var(--color-border-light);white-space:nowrap;padding:12px 14px;font-size:13px}.projects-table tr:last-child td{border-bottom:none}.projects-table tr:hover td{background:var(--color-surface-2)}.projects-table a{color:var(--color-navy);font-weight:700;text-decoration:none}.projects-table a:hover{text-decoration:underline}.from-lead-tag{color:var(--color-text-3);white-space:nowrap;margin-top:2px;font-size:10px}.projects-empty{color:var(--color-text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.status-badge,.permit-badge{letter-spacing:.1px;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.project-breadcrumb{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;padding:10px 24px}.project-breadcrumb a{color:var(--color-text-3);font-size:13px;font-weight:500;text-decoration:none}.project-breadcrumb a:hover{color:var(--color-accent)}.project-header-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:20px;padding:20px 24px;box-shadow:0 1px 3px #0000000f}.project-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.project-header-top h1{color:var(--color-text);letter-spacing:-.3px;margin:0;font-size:20px;font-weight:800}.project-address{color:var(--color-text-3);margin-bottom:18px;font-size:13px}.project-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px 20px;display:grid}.project-metric-label{color:var(--color-text-3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;font-size:10px;font-weight:600}.project-metric-value{color:var(--color-text);font-size:15px;font-weight:700}.project-details-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:20px;padding:20px 24px;box-shadow:0 1px 3px #0000000f}.project-details-card h2{margin:0 0 14px;font-size:15px}.project-tabs{border-bottom:2px solid var(--color-border);flex-wrap:wrap;gap:0;margin-bottom:20px;display:flex}.project-tab{color:var(--color-text-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:13px;font-weight:500}.project-tab[aria-selected=true]{border-bottom-color:var(--red);color:var(--red);font-weight:700}.hitlist-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.hitlist-row{border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.hitlist-row:last-child{border-bottom:none}.hitlist-row.complete{background:var(--color-surface-2)}.hitlist-position{background:var(--color-surface-2);width:22px;height:22px;color:var(--color-text-3);border:1px solid var(--color-border-light);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:10px;font-weight:700;display:flex}.hitlist-position.blocking{background:var(--red);color:#fff;border:none}.hitlist-title{color:var(--color-text);font-size:13px;font-weight:500}.hitlist-title.complete{color:var(--color-text-3);text-decoration:line-through}.hitlist-meta{color:var(--color-text-3);flex-wrap:wrap;gap:12px;margin-top:4px;font-size:11px;display:flex}.hitlist-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.icon-button{cursor:pointer;color:var(--color-text-3);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:13px;line-height:1}.icon-button:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text)}.icon-button:disabled{cursor:not-allowed;opacity:.5}.complete-toggle{border:2px solid var(--color-border);cursor:pointer;color:#fff;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-left:3px;padding:0;font-size:11px;display:flex}.complete-toggle.complete{background:var(--color-green);border:none}.segmented{border:1px solid var(--color-border);border-radius:6px;flex-wrap:wrap;width:fit-content;display:inline-flex;overflow:hidden}.segmented button{background:var(--input-bg);color:var(--color-text-3);cursor:pointer;border:none;padding:5px 14px;font-size:12px;font-weight:600}.segmented button+button{border-left:1px solid var(--color-border)}.segmented button[aria-pressed=true]{background:var(--color-accent-light);color:var(--color-accent)}.segmented button:disabled{opacity:.6;cursor:wait}.add-item-form{background:var(--color-surface-2);flex-direction:column;gap:8px;padding:14px;display:flex}.dashed-button{border:1px dashed var(--color-border);color:var(--color-text-3);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.dashed-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.checklist-note{color:var(--color-text-3);margin:0 0 12px;font-size:12px;line-height:1.5}.update-compose{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px;padding:16px;display:flex;box-shadow:0 1px 3px #0000000f}.update-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:10px;padding:14px 16px;box-shadow:0 1px 3px #0000000a}.update-card.system{background:var(--color-surface-2);border-style:dashed}.update-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.update-author{color:var(--color-text);font-size:12px;font-weight:700}.update-time{color:var(--color-text-3);font-size:11px}.update-body{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.update-delete{cursor:pointer;color:var(--color-text-3);background:0 0;border:none;margin-top:10px;padding:0;font-size:11px;text-decoration:underline}.update-delete:hover{color:#991b1b}.checklist-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.checklist-row{border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;display:flex}.checklist-row:last-child{border-bottom:none}.checklist-row.child{background:var(--color-surface-2);padding-left:40px}.checklist-label{color:var(--color-text);flex:1;min-width:160px;font-size:13px}.checklist-label.complete{color:var(--color-text-3);text-decoration:line-through}.checklist-label.na{color:#9ca3af;font-style:italic;text-decoration:line-through}.template-row{border-bottom:1px solid var(--color-border-light);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:10px 16px;display:flex}.template-row:last-child{border-bottom:none}.template-row.child{background:var(--color-surface-2);padding-left:40px}.templates-page{height:100%;padding:24px;overflow-y:auto}.templates-section{margin-bottom:28px}.autocomplete{position:relative}.autocomplete-results{z-index:400;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 20px #00000021}.autocomplete-result{border:none;border-top:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;width:100%;padding:9px 12px;display:block}.autocomplete-result:first-child{border-top:none}.autocomplete-result:hover{background:var(--color-surface-2)}.autocomplete-chip{background:var(--color-accent-light);border:1px solid #1d57c34d;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.autocomplete-chip button{cursor:pointer;color:var(--color-text-2);background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.autocomplete-chip button:hover{color:#991b1b}@media (width<=700px){.projects-header,.project-breadcrumb,.projects-body,.project-body,.templates-page{padding-left:14px;padding-right:14px}.project-header-card,.project-details-card{padding:16px}.checklist-row.child,.template-row.child{padding-left:24px}.hitlist-actions{margin-left:0}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.insights-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.insights-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.insights-header h1{letter-spacing:-.4px;color:var(--color-text);margin:0;font-size:18px;font-weight:800}.insights-header p{color:var(--text-muted);margin:3px 0 0;font-size:12px}.insights-subtitle{color:var(--text-muted);margin:4px 20px 0;font-size:12px}.range-group{background:var(--color-surface-2);border-radius:8px;gap:4px;padding:4px;display:flex}.range-group button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s}.range-group button[aria-pressed=true]{background:var(--surface);color:var(--color-text);box-shadow:0 1px 3px #0000001a}.analytics-body{flex:1;padding:20px;overflow-y:auto}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:14px 16px;box-shadow:0 1px 3px #0000000f}.stat-card .stat-label{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.stat-card .stat-value{letter-spacing:-.5px;color:var(--color-text);font-size:26px;font-weight:700;line-height:1}.stat-card .stat-sub{color:var(--text-muted);margin-top:5px;font-size:11px}.chart-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;display:grid}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;padding:16px 18px;box-shadow:0 1px 3px #0000000f}.chart-card h2{text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin:0 0 12px;font-size:12px;font-weight:700}.chart-empty{height:200px;color:var(--text-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.map-body{flex:1;min-height:0;display:flex;overflow:hidden}.map-plot-col{flex-direction:column;flex:1;min-width:0;padding:16px;display:flex;overflow:hidden}.map-plot-wrap{border:1px solid var(--border);background:var(--color-surface-2);border-radius:8px;flex:1;min-height:240px;overflow:hidden}.coordinate-plot{width:100%;height:100%;display:block}.map-legend{flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;display:flex}.stage-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--color-text-2);border-radius:16px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.stage-toggle[aria-pressed=false]{color:var(--text-muted);opacity:.7}.stage-toggle .stage-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.map-unknown-note{color:var(--text-muted);margin-top:8px;font-size:12px}.map-panel{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:340px;display:flex;overflow:hidden}.map-panel-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 18px 10px}.map-panel-header .count{color:var(--color-text);font-size:20px;font-weight:700;line-height:1.2}.map-panel-header .sub{color:var(--text-muted);margin-top:3px;font-size:12px}.map-list{flex:1;overflow-y:auto}.map-list-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;align-items:center;gap:10px;padding:10px 18px;display:flex}.map-list-item:hover{background:var(--color-surface-2)}.map-list-item[aria-current=true]{background:var(--color-accent-light)}.map-list-item .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.map-list-item .name{color:var(--color-text);font-size:13px;font-weight:500}.map-list-item .meta{color:var(--text-muted);margin-top:1px;font-size:11px}.map-empty{text-align:center;color:var(--text-muted);padding:32px 18px;font-size:13px}.map-detail{padding:18px;overflow-y:auto}.map-detail-back{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;gap:4px;margin-bottom:14px;padding:0;font-size:12px;font-weight:500;display:flex}.map-detail h2{color:var(--color-text);margin:0 0 4px;font-size:17px}.map-detail .org{color:var(--text-muted);margin-bottom:10px;font-size:13px}.map-detail dl{margin:0}.map-detail dt{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:10px;font-size:10px;font-weight:600}.map-detail dd{color:var(--color-text);margin:2px 0 0;font-size:13px}.map-detail .open-lead{text-align:center;background:var(--color-accent);color:#fff;border-radius:6px;margin-top:18px;padding:9px 0;font-size:13px;font-weight:600;text-decoration:none;display:block}@media (width<=480px){.chart-grid{grid-template-columns:1fr}.insights-header{flex-direction:column;align-items:flex-start}.map-body{flex-direction:column;overflow-y:auto}.map-plot-col{padding:12px}.map-plot-wrap{min-height:260px}.map-panel{border-left:none;border-top:1px solid var(--border);width:100%}}
