:root{--navy: #0c1222;--navy-light: #141d32;--navy-dark: #080d19;--gold: #C99E50;--gold-light: #d4ad66;--tan: #EBCA9C;--white: #FFFFFF;--black: #000000;--slate-blue: #7FA8C9;--off-white: #B0B8C4;--muted-gray: #8893A0;--status-estimate: #7FA8C9;--status-approved: #C99E50;--status-scheduled: #B08DD1;--status-fieldwork: #4EAAD5;--status-drafting: #D4AD66;--status-review: #E8A87C;--status-complete: #6BBF7B;--status-invoiced: #8893A0;--status-cancelled: #E06060;--type-boundary: #4a90d9;--type-alta: #e8c547;--type-topo: #50c878;--type-staking: #e07c4a;--type-elevation: #9b59b6;--type-subdivision: #e74c6f;--type-easement: #17a2b8;--type-construction: #8b6914;--type-specific: #888888;--type-other: #aaaaaa;--sidebar-width: 220px;--header-height: 56px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Lato,sans-serif;color:var(--white);background:var(--navy);overflow-x:hidden;min-height:100vh;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.section-label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tan);font-weight:700;margin-bottom:1rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);padding:.65rem 1.5rem;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:3px;transition:all .15s;border:none;cursor:pointer;font-family:Lato,sans-serif;gap:.5rem}.btn-primary:hover{background:var(--gold-light)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{display:inline-flex;align-items:center;justify-content:center;color:var(--off-white);padding:.65rem 1.5rem;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:3px;border:1px solid rgba(255,255,255,.2);transition:all .15s;cursor:pointer;background:transparent;font-family:Lato,sans-serif;gap:.5rem}.btn-outline:hover{border-color:var(--gold);color:var(--gold)}.btn-small{padding:.45rem 1rem;font-size:.7rem}input,select,textarea{width:100%;padding:.7rem .85rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:3px;color:var(--white);font-family:Lato,sans-serif;font-size:.85rem;transition:border-color .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:#7fa8c980}input::placeholder,textarea::placeholder{color:var(--muted-gray)}.card{background:var(--navy-light);border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:1.5rem;transition:all .15s}.card:hover{border-color:#c99e5040}.card-link{display:block;text-decoration:none;color:inherit}.status-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:10px;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.status-estimate{background:#7fa8c926;color:var(--status-estimate)}.status-approved{background:#c99e5026;color:var(--status-approved)}.status-scheduled{background:#b08dd126;color:var(--status-scheduled)}.status-fieldwork{background:#4eaad526;color:var(--status-fieldwork)}.status-drafting{background:#d4ad6626;color:var(--status-drafting)}.status-review{background:#e8a87c26;color:var(--status-review)}.status-complete{background:#6bbf7b26;color:var(--status-complete)}.status-invoiced{background:#8893a026;color:var(--status-invoiced)}.status-cancelled{background:#e0606026;color:var(--status-cancelled)}.status-inprogress{background:#4eaad526;color:var(--status-fieldwork)}.status-notstarted{background:#8893a01a;color:var(--status-invoiced)}.status-done{background:#6bbf7b26;color:var(--status-complete)}.status-newrequest{background:#7fa8c926;color:var(--status-estimate)}.status-estimateinprogress{background:#d4ad6626;color:var(--status-drafting)}.status-estimatesent{background:#c99e5026;color:var(--status-approved)}.status-awaitingresponse{background:#e8a87c26;color:var(--status-review)}.status-expired{background:#8893a026;color:var(--status-invoiced)}.status-declined{background:#e0606026;color:var(--status-cancelled)}.status-pending{background:#8893a026;color:var(--status-invoiced)}.job-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:10px;font-size:.65rem;font-weight:600;letter-spacing:.03em;white-space:nowrap}.job-tag-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.job-tag-boundary{color:var(--type-boundary);background:#4a90d91f}.job-tag-boundary .job-tag-dot{background:var(--type-boundary)}.job-tag-alta{color:var(--type-alta);background:#e8c5471f}.job-tag-alta .job-tag-dot{background:var(--type-alta)}.job-tag-topo{color:var(--type-topo);background:#50c8781f}.job-tag-topo .job-tag-dot{background:var(--type-topo)}.job-tag-staking{color:var(--type-staking);background:#e07c4a1f}.job-tag-staking .job-tag-dot{background:var(--type-staking)}.job-tag-elevation{color:var(--type-elevation);background:#9b59b61f}.job-tag-elevation .job-tag-dot{background:var(--type-elevation)}.job-tag-subdivision{color:var(--type-subdivision);background:#e74c6f1f}.job-tag-subdivision .job-tag-dot{background:var(--type-subdivision)}.job-tag-easement{color:var(--type-easement);background:#17a2b81f}.job-tag-easement .job-tag-dot{background:var(--type-easement)}.job-tag-construction{color:var(--type-construction);background:#8b69141f}.job-tag-construction .job-tag-dot{background:var(--type-construction)}.job-tag-other{color:var(--type-other);background:#aaaaaa1f}.job-tag-other .job-tag-dot{background:var(--type-other)}.meta-item{display:inline-flex;align-items:center;gap:.35rem}.meta-label{color:#ffffff59;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.6rem}.progress-bar{position:relative;height:3px;background:#ffffff14;border-radius:2px}.progress-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--status-complete) 0%,var(--gold) 100%);transition:width .4s ease}.progress-bar-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid var(--navy);box-shadow:0 0 0 2px var(--gold),0 0 12px #c99e504d}.progress-steps{display:flex;justify-content:space-between;margin-top:.6rem;gap:.15rem}.progress-step{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:#fff3;text-align:center;flex:1;transition:color .2s;min-width:0;word-break:keep-all;padding:0 .1rem}.progress-step.done{color:var(--status-complete)}.progress-step.active{color:var(--gold);font-weight:700}.progress-mini{height:2px;background:#ffffff0f;border-radius:1px;overflow:hidden;width:100%}.progress-mini-fill{height:100%;border-radius:1px;background:linear-gradient(90deg,var(--status-complete),var(--gold))}.map-container{border-radius:4px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:var(--navy-dark)}.map-container .mapboxgl-canvas{outline:none}.map-container .mapboxgl-ctrl-attrib{display:none}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--muted-gray);font-size:.8rem}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.08);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite;margin-right:.6rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem 2rem;color:var(--muted-gray)}.empty-state h3{color:var(--off-white);margin-bottom:.35rem;font-size:.95rem}.empty-state p{font-size:.8rem}.alert{padding:.75rem 1rem;border-radius:3px;margin-bottom:.75rem;font-size:.8rem;border:1px solid}.alert-success{background:#6bbf7b14;border-color:#6bbf7b33;color:var(--status-complete)}.alert-error{background:#e0606014;border-color:#e0606033;color:var(--status-cancelled)}.alert-info{background:#7fa8c914;border-color:#7fa8c933;color:var(--slate-blue)}.hidden{display:none!important}.text-muted{color:var(--muted-gray)}.text-gold{color:var(--gold)}.text-small{font-size:.75rem}.app-wrapper{display:flex;min-height:100vh}.app-sidebar{width:var(--sidebar-width);background:var(--navy-dark);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;transition:transform .25s ease}.app-sidebar-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.app-sidebar-logo{height:24px;width:auto;opacity:.9}.app-sidebar-label{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-gray);margin-top:.4rem}.app-sidebar-nav{padding:.75rem 0;flex:1}.app-sidebar-nav a{display:flex;align-items:center;gap:.65rem;padding:.55rem 1.25rem;font-size:.8rem;color:var(--off-white);transition:all .15s;font-weight:400}.app-sidebar-nav a:hover{background:#ffffff08;color:var(--white)}.app-sidebar-nav a.active{color:var(--gold);background:#c99e500f;border-left:2px solid var(--gold);font-weight:700}.app-sidebar-nav a svg{width:16px;height:16px;opacity:.6;flex-shrink:0}.app-sidebar-nav a.active svg{opacity:1}.app-sidebar-footer{padding:.85rem 1.25rem;border-top:1px solid rgba(255,255,255,.06);font-size:.75rem}.app-sidebar-footer a{color:var(--muted-gray);transition:color .15s}.app-sidebar-footer a:hover{color:var(--status-cancelled)}.app-main{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.app-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 1.75rem;border-bottom:1px solid rgba(255,255,255,.06);background:#0c1222d9;backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.app-header-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--off-white);font-weight:700}.app-header-user{font-size:.75rem;color:var(--muted-gray)}.app-content{flex:1;padding:2rem 2.25rem 2.5rem}.mobile-toggle{display:none;position:fixed;top:12px;left:12px;z-index:200;background:var(--navy-dark);border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:.4rem;cursor:pointer;color:var(--white);width:34px;height:34px;align-items:center;justify-content:center}.mobile-toggle svg{width:16px;height:16px}.mobile-header{display:none;height:var(--header-height);align-items:center;justify-content:center;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.06);background:var(--navy-dark)}.mobile-header img,.mobile-header svg{height:22px;width:auto}.sidebar-overlay{display:none;position:fixed;inset:0;background:#0009;z-index:90}@media(max-width:768px){.app-sidebar{transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.app-main{margin-left:0}.mobile-toggle,.mobile-header{display:flex}.app-header{display:none}.app-content{padding:1.25rem}.god-bar-inner{flex-wrap:wrap;gap:.5rem}.god-bar-search,.god-bar-search input{width:100%}}.god-bar{background:linear-gradient(90deg,#1a1040,#2a1548);border-bottom:2px solid #7c3aed;padding:.6rem 1.25rem;z-index:10000}.god-bar~.app-wrapper{min-height:calc(100vh - 42px)}.god-bar~.app-wrapper .app-sidebar{height:calc(100vh - 42px);top:42px}.god-bar-inner{display:flex;align-items:center;gap:1rem;max-width:1200px;margin:0 auto}.god-bar-label{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;color:#a78bfa;white-space:nowrap}.god-bar-search{position:relative;flex:1;max-width:480px}.god-bar-search input{width:100%;background:#ffffff1a;border:1px solid rgba(124,58,237,.4);color:#fff;padding:.45rem .85rem;border-radius:4px;font-size:.85rem;font-family:Lato,sans-serif;outline:none}.god-bar-search input::placeholder{color:#7c7c99}.god-bar-search input:focus{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed40}.god-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:#1a1445;border:1px solid rgba(124,58,237,.4);border-radius:6px;margin-top:4px;max-height:360px;overflow-y:auto;z-index:10001;box-shadow:0 8px 24px #00000080}.god-item{padding:.55rem .85rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.05)}.god-item:last-child{border-bottom:none}.god-item:hover{background:#7c3aed2e}.god-item-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.god-item strong{color:#fff;font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.god-item span{color:#a5a5c0;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.god-item.god-no-email{opacity:.5;cursor:default}.god-item.god-no-email:hover{background:none}.god-item.god-empty{color:#7c7c99;cursor:default;font-size:.8rem;justify-content:center;padding:1rem}.god-item.god-empty:hover{background:none}.god-item-badges{display:flex;gap:.35rem;flex-shrink:0}.god-badge{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .45rem;border-radius:3px;white-space:nowrap}.god-badge-lead{background:#eab30826;color:#eab308}.god-badge-both{background:#7c3aed33;color:#a78bfa}.god-badge-jobs{background:#4a90d926;color:#4a90d9}.god-viewing{font-size:.75rem;color:#c4b5fd;font-weight:700;white-space:nowrap}.god-clear{background:#7c3aed33;color:#c4b5fd;border:1px solid rgba(124,58,237,.4);padding:.35rem .85rem;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap;transition:all .15s}.god-clear:hover{background:#7c3aed66;color:#fff}
