:root{--pine:#09291f;--deep:#061e17;--ink:#153b2d;--gold:#ddc18a;--gold-dark:#a8884b;--paper:#f4f3eb;--muted:#687c70;--line:#dce2d5;--white:#fffefa;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a,input,select,summary{outline-offset:5px}:focus-visible{outline:3px solid #b18b45}.skip{position:fixed;top:-80px;left:16px;z-index:100;background:white;padding:14px}.skip:focus{top:12px}[hidden]{display:none!important}.wordmark{font-size:25px;letter-spacing:1.8px;font-weight:800;line-height:1;display:inline-block;color:#f1dfb6;white-space:nowrap}.wordmark span{font-weight:400}.wordmark small{display:block;font-size:7.6px;letter-spacing:4px;margin-top:9px;font-weight:400}.site-nav{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:#f2eddf;border-bottom:1px solid #ffffff1c}.site-nav nav{display:flex;gap:36px;align-items:center;font-size:13px}.nav-login{border:1px solid #c4b17e80;padding:12px 19px}.nav-login span{margin-left:25px}.marketing .hero{background:var(--deep);color:#f4f0e5;display:grid;grid-template-columns:1.05fr 1fr;min-height:660px}.hero-copy{padding:84px 40px 70px max(6vw,30px);position:relative}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;color:#cdbd8b;line-height:1.7;margin:0 0 24px}.eyebrow>span{display:inline-block;width:6px;height:6px;background:var(--gold);margin-right:9px;border-radius:50%}.eyebrow.dark{color:#7b815f}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.6px}h1{font-size:clamp(48px,5.1vw,78px);line-height:1.08;margin-bottom:28px}em{font-weight:400;color:var(--gold)}.hero-description{color:#b9c9bd;font-size:17px;line-height:1.8;max-width:470px}.actions{display:flex;gap:24px;align-items:center;margin-top:34px;flex-wrap:wrap}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:17px 23px;font-size:13px;font-weight:600;min-height:48px;transition:background .18s,transform .18s}.button:hover{transform:translateY(-1px)}.gold{background:var(--gold);color:#12291d}.gold:hover{background:#edd3a0}.green{background:var(--pine);color:#f7f4e7}.green:hover{background:#194b36}.outline{border:1px solid #bdc7b8;background:transparent;color:var(--ink)}.text-link{font-size:12px;border-bottom:1px solid #82917b80;padding:9px 0;display:inline-flex;gap:28px;align-items:center}.hero-foot{font-size:10px;letter-spacing:.5px;color:#80998a;margin:47px 0 0}.hero-art{position:relative;overflow:hidden;background:linear-gradient(90deg,#061e17 0%,transparent 35%),url('/assets/golfoptix-brand.png') center 9%/auto 212% no-repeat}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#061e17 0%,transparent 44%)}.art-caption{position:absolute;bottom:65px;left:40px;z-index:1;display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:2px;color:#c6b680}.art-caption strong{display:block;color:#f2ead4;font:italic 25px Georgia,serif;letter-spacing:0;margin-top:10px}.crosshair{font:48px Georgia,serif}.purpose-strip{padding:25px 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:#eaece1;gap:20px}.purpose-strip span{font-size:9px;letter-spacing:1.5px;color:#7b846c}.purpose-strip p{font:22px Georgia,serif;margin:0}.section-pad{padding:105px 8%}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;margin-bottom:55px}.section-intro .eyebrow{grid-column:1/-1}.section-intro h2{font-size:46px;line-height:1.14;margin:0}.section-intro>p:last-child{font-size:15px;line-height:1.9;color:var(--muted);max-width:475px;padding-top:8px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cbd4c1}.feature{padding:35px 45px 42px 0;border-bottom:1px solid #cbd4c1;position:relative}.feature:nth-child(even){padding-left:45px;border-left:1px solid #cbd4c1}.feature-no{font-size:9px;letter-spacing:1.7px;color:#6e7b62}.feature-icon{color:#9b8758;font:40px Georgia;margin:30px 0 18px}.feature h3{font:29px Georgia,serif;font-weight:400;letter-spacing:-.6px;margin-bottom:15px}.feature p{font-size:14px;color:var(--muted);line-height:1.9;max-width:440px;margin:0}.evidence{background:var(--pine);color:#f3eddf;display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.evidence h2{font-size:46px;line-height:1.2;margin:0}.evidence-copy{padding-top:30px}.evidence-copy p:first-child{font:24px Georgia;line-height:1.5}.evidence-copy p:nth-child(2){color:#b8c8b9;font-size:14px;line-height:1.9}.evidence .text-link{color:var(--gold);margin-top:18px}.workflow .section-intro{display:block}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.steps article{border-top:1px solid #c0cbb8;padding-top:20px}.steps span{font-size:10px;letter-spacing:2px;color:#8b784e}.steps h3{font:24px Georgia;line-height:1.3;margin:35px 0 15px}.steps p{font-size:14px;line-height:1.8;color:var(--muted)}.closing{background:var(--deep);color:#f5efdf;display:flex;justify-content:space-between;gap:40px;align-items:center}.closing h2{font-size:65px;line-height:1.07;margin:0}.closing-action{padding-right:8%}.closing-action p{font-size:16px;line-height:1.8;color:#bfccbc}.closing-action small{display:block;font-size:10px;margin-top:18px;color:#8ca591}.site-footer{background:var(--deep);color:#8ca591;padding:40px 6%;border-top:1px solid #ffffff21;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer p,.site-footer>a:last-of-type{font-size:11px;margin:0}.site-footer>small{width:100%;border-top:1px solid #ffffff12;padding-top:25px;font-size:9px;color:#718b79;margin-top:15px}
/* Course entry */
.login-page{min-height:100svh;display:grid;grid-template-columns:1fr 1fr}.login-story{padding:48px 10%;background:linear-gradient(0deg,#061e17 4%,#061e17d9 46%,#061e173b),url('/assets/golfoptix-brand.png') center top/auto 160% no-repeat;color:#eee9d9;display:flex;flex-direction:column;justify-content:space-between;min-height:760px}.login-story-copy{padding-top:180px}.login-story h1{font-size:50px;line-height:1.13}.login-story-copy>p:last-child{color:#aebfae;font-size:15px;line-height:1.9}.login-story>.text-link{align-self:flex-start;color:#b9c5ad}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:60px 45px;background:#f7f6ef}.login-form-wrap{width:100%;max-width:410px}.preview-pill{font-size:8px;letter-spacing:1.4px;border:1px solid #bdc7a2;background:#e8eddd;color:#4b673e;border-radius:3px;padding:6px 9px;display:inline-block;font-weight:600}.login-form-wrap>.preview-pill{margin-bottom:40px}.login-form-wrap .eyebrow{margin-bottom:12px}.login-form-wrap h2{font-size:48px;margin:0 0 12px}.muted{color:var(--muted);font-size:14px;line-height:1.7}.login-form-wrap form{margin-top:30px}label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}select,input{border:1px solid #c8d0c1;background:#fffefa;border-radius:3px;width:100%;padding:14px;color:var(--ink);min-height:48px}input[readonly]{color:#6c7d6a;background:#f1f2e9}.selected-course{display:flex;gap:14px;align-items:center;margin:14px 0 28px;padding:16px;background:#e8eddf;border:1px solid #d6dec9;border-radius:4px}.club-emblem{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b29a62;border-radius:50%;font:17px Georgia;color:#8d794d;flex-shrink:0}.selected-course strong,.selected-course span:not(.club-emblem):not(.ready-dot){display:block}.selected-course strong{font-size:13px;margin-bottom:6px}.selected-course div>span{font-size:11px;color:var(--muted)}.ready-dot,.live-dot{width:6px;height:6px;background:#70914c;display:inline-block;border-radius:50%;flex-shrink:0}.selected-course>.ready-dot{margin-left:auto}.login-form-wrap input{margin-bottom:20px}.form-help{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 25px}.full{width:100%;justify-content:space-between}.login-bottom{font-size:8px;letter-spacing:1.2px;text-align:center;margin:35px 0 0;color:#8b957d}
/* Workspace */
.workspace{background:#edf0e6}.app-nav{background:var(--pine);display:flex;align-items:center;justify-content:space-between;padding:19px 32px;color:#f3eddb;gap:24px}.app-nav .wordmark{font-size:23px}.app-club{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:25px}.app-club strong{display:block;font-size:12px;font-weight:500}.app-club div>span{display:block;color:#afbea8;font-size:10px;margin-top:6px}.app-club .club-emblem{color:#ddc18a;width:34px;height:34px;font-size:14px}.app-account{display:flex;gap:24px;align-items:center}.app-account .preview-pill{background:#ffffff0a;border-color:#98aa8059;color:#d6c9a1}.text-button{border:0;background:none;color:inherit;padding:6px 0;font-size:11px}.app-main{padding:30px 32px}.app-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.app-heading .eyebrow{font-size:8px;margin-bottom:7px;letter-spacing:1.9px}.app-heading h1{font-size:37px;line-height:1.1;letter-spacing:-1px;margin:0 0 8px}.app-heading>div>p:last-child{font-size:12px;color:var(--muted);margin:0}.heading-actions{display:flex;gap:10px}.heading-actions .button{font-size:11px;min-height:40px;padding:12px 16px;gap:14px}.workspace-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px}.course-sidebar{background:#f9faf3;border:1px solid #d9e0d1;border-radius:6px;padding:16px;display:flex;flex-direction:column;align-self:stretch}.overview-button{display:flex;gap:12px;padding:14px 12px;background:none;border:1px solid transparent;color:var(--ink);width:100%;font-size:11px;border-radius:4px;align-items:center}.overview-button>span:last-child{margin-left:auto}.overview-button.active{background:#e6ecdc;border-color:#c9d5bc;font-weight:bold}.sidebar-title{display:flex;justify-content:space-between;align-items:center;margin-top:27px}.course-sidebar h2{font:600 11px Arial;letter-spacing:0;margin:0}.sidebar-title>span{font-size:7px;letter-spacing:1px;color:#849174}.sidebar-caption{font-size:9px;color:#7b8972;line-height:1.8;margin:8px 0 14px}.hole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.hole-button{border:1px solid #d5ddcc;border-radius:4px;background:#fffefa;color:var(--ink);min-height:45px;font-size:14px;transition:all .15s}.hole-button:hover{border-color:#6f8c58;background:#edf1e5}.hole-button.active{background:var(--pine);color:#f3e4c4;border-color:var(--pine)}.layer-section{margin-top:24px;padding-top:20px;border-top:1px solid #dde3d3}.layer-section h2{margin-bottom:15px}.toggle-row{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:400;margin:14px 0;gap:8px}.toggle-row>span{display:flex;align-items:center;gap:9px}.toggle-row input{width:28px;height:16px;min-height:0;accent-color:#315d3e;margin:0;cursor:pointer}.line-swatch{display:inline-block;width:16px;height:2px;background:#1599cf}.label-swatch{font-style:normal;font:11px Georgia}.map-evidence{border-top:1px solid #dde3d3;padding-top:16px;margin-top:5px;font-size:10px;line-height:1.75;color:#78876e}.map-evidence summary{cursor:pointer;color:#3c583d;display:flex;justify-content:space-between;font-size:10px}.map-evidence p{margin:12px 0}.sidebar-bottom{font-size:8px;color:#8c977f;display:flex;align-items:center;gap:7px;padding-top:25px;margin-top:auto}.map-panel{background:#fbfcf5;border:1px solid #d5ddcc;border-radius:6px;overflow:hidden;min-width:0}.map-toolbar{display:flex;justify-content:space-between;padding:17px 20px;border-bottom:1px solid #dce2d3;background:#fbfcf6;align-items:center;gap:12px;min-height:58px}.map-toolbar>div{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.map-toolbar strong{font-size:12px;font-weight:600}.map-toolbar #map-caption{font-size:9px;color:#7e8a73;padding-left:8px;border-left:1px solid #cdd7c2}.map-revision{font-size:7px;letter-spacing:1.4px;color:#879174;white-space:nowrap}.map-stage{height:calc(100svh - 320px);min-height:590px;position:relative;overflow:hidden;background:#f2f3e9;touch-action:none}.map-stage.is-panning{cursor:grabbing}#map-mount{height:100%;width:100%;display:flex;align-items:center;justify-content:center}#map-mount>svg{height:100%;width:100%;user-select:none;display:block;cursor:grab}#map-mount svg [data-hole-link]{cursor:pointer}#map-mount svg [data-hole-link]:hover circle,#map-mount svg [data-hole-link]:focus-visible circle{fill:#c7a968;stroke:#fffefa}#map-mount svg [data-hole-link]:hover text{fill:#0b2e20}.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:#7c8b71;font-size:12px}.map-controls{position:absolute;left:16px;top:16px;display:grid;border:1px solid #cfd8c4;border-radius:5px;overflow:hidden;box-shadow:0 3px 10px #122d1710}.map-controls button{border:0;border-bottom:1px solid #dae2d2;width:37px;height:37px;background:#fffefa;font-size:22px;color:#355632}.map-controls button:hover{background:#e5eddc}.map-controls button:last-child{border-bottom:0;font-size:23px}.map-guide{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:9px 15px;border:1px solid #dbe2d1;border-radius:4px;background:#fffff4ec;color:#6f8062;font-size:8px;white-space:nowrap;pointer-events:none}.map-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;flex-wrap:wrap;border-top:1px solid #dbe2d2;min-height:50px}.map-legend{display:flex;gap:18px;font-size:8px;color:#6c7c62}.map-legend>span{display:flex;align-items:center;gap:6px}.legend-head{width:7px;height:7px;display:inline-block;background:white;border:1px solid #243d2d;border-radius:50%}.legend-valve{width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid #243a2b}.source-credit{font-size:7px;color:#939c87}.hole-stepper{display:flex;align-items:center;gap:13px;font-size:9px}.hole-stepper button{border:0;background:none;font-size:9px;color:#4d6940;padding:0}.hole-stepper span{color:#879278}.map-message{position:absolute;inset:20%;background:#fbfcf3;padding:30px;border:1px solid #d2dbc6;font-size:13px;line-height:1.8;box-shadow:0 10px 35px #153b2d15;overflow:auto}.map-message strong{display:block;font:27px Georgia;margin-bottom:14px}.map-message a{display:inline-block;margin-top:15px;text-decoration:underline}.water-hidden [id$="-water-lines"],.water-hidden [data-casing-for],.water-hidden [data-source-branch]{display:none}.labels-hidden [id$="-asset-labels"],.labels-hidden #card-asset-labels{display:none}.course-hotspot{outline:none}.course-hotspot text{pointer-events:none}.course-hotspot:focus-visible circle{stroke:#cdb06a;stroke-width:6}
@media(min-width:1500px){.hero-copy{padding-top:120px}.marketing .hero{min-height:750px}.map-stage{min-height:690px}.app-main{padding-left:4%;padding-right:4%}}
@media(max-width:1000px){.hero-copy{padding-left:35px;padding-top:60px}.hero h1{font-size:53px}.section-pad{padding:75px 6%}.section-intro{gap:35px}.section-intro h2,.evidence h2{font-size:38px}.workspace-grid{grid-template-columns:185px minmax(0,1fr);gap:14px}.app-main{padding:25px 20px}.app-nav{padding:18px 20px}.course-sidebar{padding:12px}.map-stage{min-height:600px}.app-club{margin-right:0}.map-toolbar #map-caption{display:none}.source-credit{display:none}.hole-grid{gap:5px}.login-story{padding:40px 9%}.login-story h1{font-size:43px}}
@media(max-width:700px){.site-nav{padding:22px 6%}.site-nav nav>a:not(.nav-login){display:none}.site-nav nav{gap:0}.wordmark{font-size:21px}.wordmark small{font-size:6px;letter-spacing:3.5px}.nav-login{font-size:10px;padding:10px 13px}.nav-login span{margin-left:12px}.marketing .hero{display:block;min-height:0}.hero-copy{padding:55px 6% 40px}.hero h1{font-size:clamp(37px,9.6vw,48px)}.hero-description{font-size:15px}.hero-art{height:340px;background-size:auto 212%;background-position:center 5%}.art-caption{left:6%;bottom:35px}.hero-foot{margin-top:28px;line-height:1.8}.purpose-strip{display:block;text-align:center;padding:22px}.purpose-strip p{margin:10px 0}.purpose-strip span:last-child{display:none}.section-pad{padding:60px 6%}.section-intro{display:block;margin-bottom:35px}.section-intro h2,.evidence h2{font-size:36px}.section-intro>p:last-child{margin-top:22px}.feature-grid{display:block}.feature,.feature:nth-child(even){padding:30px 0;border-left:0}.feature h3{font-size:28px}.feature-icon{float:right;margin-top:25px}.evidence{display:block}.evidence-copy{padding-top:25px}.steps{display:block}.steps article{margin-bottom:30px}.steps h3{margin-top:22px}.closing{display:block}.closing h2{font-size:51px}.closing-action{margin-top:35px}.site-footer{align-items:flex-start}.site-footer>p{max-width:160px;line-height:1.8}.login-page{display:block}.login-story{min-height:260px;padding:28px 7%;background-size:auto 205%}.login-story-copy{padding-top:35px}.login-story h1{font-size:36px;margin-bottom:18px}.login-story-copy>.eyebrow{margin-bottom:12px}.login-story-copy>p:last-child{display:none}.login-story>.text-link{display:none}.login-form-panel{padding:38px 7% 55px}.login-form-wrap>.preview-pill{margin-bottom:26px}.login-form-wrap h2{font-size:42px}.app-nav{padding:17px 16px;gap:10px}.app-nav .wordmark{font-size:20px}.app-club{display:none}.app-account{gap:14px}.app-main{padding:24px 12px}.app-heading{align-items:flex-start;flex-wrap:wrap;margin:0 6px 20px}.app-heading h1{font-size:33px}.heading-actions{width:100%}.workspace-grid{display:flex;flex-direction:column;gap:12px}.course-sidebar{display:block;padding:12px}.overview-button{width:100%;padding:10px}.sidebar-title{margin-top:16px}.sidebar-caption{margin:5px 0 9px}.hole-grid{grid-template-columns:repeat(9,1fr);gap:4px}.hole-button{min-height:34px;font-size:12px}.layer-section{margin-top:12px;padding-top:10px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.layer-section h2{display:none}.toggle-row{margin:0;font-size:10px;gap:10px}.layer-section .sidebar-caption{display:none}.map-evidence{padding-top:10px;margin-top:12px}.map-evidence p{font-size:10px}.sidebar-bottom{display:none}.map-stage{height:72svh;min-height:510px}.map-toolbar{padding:14px 12px}.map-toolbar strong{font-size:11px}.map-revision{font-size:6px}.map-guide{font-size:7px;padding:7px;bottom:10px}.map-legend{gap:12px;font-size:7px}.map-footer{padding:13px 12px}.map-message{inset:10%;padding:22px}.hole-stepper{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.app-nav,.course-sidebar,.app-heading,.map-toolbar,.map-controls,.map-guide,.map-footer{display:none!important}.app-main{padding:0}.workspace-grid{display:block}.map-panel{border:0}.map-stage{height:95vh;background:white}}

/* Superintendent maintenance showcase */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.maintenance-toolbar{padding:15px 18px;background:#e6ecdf;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #cdd7c2}.maintenance-toolbar>div{margin-right:auto}.maintenance-toolbar strong{font-size:12px;display:block}.maintenance-toolbar span{font-size:10px;color:#5c7057;display:block;margin-top:5px}.maintenance-toolbar label{font-size:10px;margin:0;max-width:190px}.maintenance-toolbar input{padding:8px;min-height:34px;font-size:12px;margin-top:4px}.maintenance-toolbar .button{font-size:10px;padding:9px 12px;min-height:36px;gap:5px}.maintenance-toolbar>p{flex-basis:100%;font-size:11px;margin:0;line-height:1.6;color:#46623d}
.asset-popover{position:absolute;right:14px;top:14px;bottom:45px;width:min(355px,calc(100% - 28px));background:#fffefa;border:1px solid #b9c8ae;border-radius:8px;box-shadow:0 14px 45px #09291f35;padding:22px;overflow:auto;z-index:5;touch-action:pan-y;color:#153b2d;user-select:text}.asset-popover #close-asset{position:absolute;right:10px;top:8px;border:0;background:none;font-size:28px;color:#45613e;padding:4px 8px}.asset-popover h2{font:25px Georgia;margin:12px 25px 8px 0;letter-spacing:-.5px}.asset-popover #asset-identifier{font:10px monospace;overflow-wrap:anywhere;color:#687c70}.asset-popover h3{font-size:12px;margin:22px 0 10px}.asset-popover p{font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.asset-popover small{display:block;font-size:10px;color:#687c70;line-height:1.6}.asset-popover .button{padding:10px 12px;font-size:11px;min-height:38px;margin:6px 7px 6px 0;gap:5px}.asset-popover label{font-size:11px;margin-top:12px}.asset-popover textarea{font:12px Arial;width:100%;min-height:85px;border:1px solid #bdc9b3;border-radius:4px;padding:10px;resize:vertical;color:#153b2d;background:#fff}.asset-popover input,.asset-popover select{font-size:12px;min-height:36px;padding:9px}.asset-popover summary{font-size:12px;font-weight:bold;cursor:pointer;margin-top:24px}.problem-status{color:#b3262c;font-weight:bold}.healthy-status{color:#4a7037}.repair-red{background:#bb2a30;color:white}.repair-card{border:1px solid #e6bbbb;background:#fff7f4;padding:12px;border-radius:5px;margin-top:15px}.repair-card h3{color:#b3262c;margin-top:0}.history-entry{padding:15px 0;border-bottom:1px solid #dde3d3;font-size:11px}.history-entry p{margin:8px 0 0}.history-entry strong{display:block;font-size:11px;margin-bottom:6px}.repair-list{border-top:1px solid #dde3d3;padding-top:18px;margin-top:15px}.repair-list input{font-size:11px;min-height:34px;padding:9px;margin-top:10px}.repair-list-title{display:flex;justify-content:space-between;margin:20px 0 10px;font-size:9px;color:#a3272d}.issue-list-item{display:block;width:100%;text-align:left;font-size:10px;line-height:1.65;padding:10px 5px;overflow-wrap:anywhere;border:0;border-bottom:1px solid #d8dfce;background:transparent;color:#244b3a}.issue-list-item:hover{background:#edf0e6}.empty-repairs{font-size:10px;color:#687c70;line-height:1.7}.asset-hit{fill:transparent!important;stroke:transparent!important;stroke-width:20px!important;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}#map-mount [data-edit-asset]{cursor:pointer}.asset-selected{filter:drop-shadow(0 0 2px #d39c21)}.asset-problem{stroke:#c52a2f!important}.asset-problem:not([data-source-branch]):not([data-user-line]){fill:#dc4248!important}
@media(max-width:700px){.maintenance-toolbar{padding:12px;gap:9px}.maintenance-toolbar>div{flex-basis:100%}.maintenance-toolbar label{flex:1;max-width:none}.maintenance-toolbar .button{font-size:9px}.asset-popover{right:8px;top:8px;bottom:40px;width:calc(100% - 16px)}.repair-list{margin-top:12px}.repair-list #open-issues{max-height:150px;overflow:auto}.map-stage{min-height:570px}}

#move-warning{max-width:440px;width:calc(100% - 32px);border:1px solid #b5c6a8;border-radius:8px;padding:30px;color:#153b2d;background:#fffefa}#move-warning::backdrop{background:#09291f88}#move-warning h2{font-size:28px;margin:0 0 18px}#move-warning p{font-size:14px;line-height:1.7}#move-warning>div{display:flex;gap:10px;flex-wrap:wrap}#move-warning .button{font-size:12px;padding:12px 15px}


#remove-warning{max-width:440px;width:calc(100% - 32px);border:1px solid #b5c6a8;border-radius:8px;padding:30px;color:#153b2d;background:#fffefa}#remove-warning::backdrop{background:#09291f88}#remove-warning h2{font-size:28px;margin:0 0 18px}#remove-warning p{font-size:14px;line-height:1.7}#remove-warning>div{display:flex;gap:10px;flex-wrap:wrap}#remove-warning .button{font-size:12px;padding:12px 15px}.rename-form{border-top:1px solid #dde3d3;border-bottom:1px solid #dde3d3;padding:4px 0 12px;margin:12px 0}#removed-items{margin-top:16px;font-size:10px;line-height:1.7}#removed-items summary{cursor:pointer;font-weight:bold}

.add-tools{flex-basis:100%;display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-top:1px solid #cdd7c2;padding-top:12px;margin-top:4px}.add-tools>strong{font-size:11px;margin-right:8px}.add-tools label{max-width:185px}.add-tools label:has(select){max-width:90px}.add-tools select{min-height:34px;padding:8px;font-size:11px;margin-top:4px}.add-tools button[aria-pressed=true]{background:#244b3a;color:white}.is-adding #map-mount svg,.is-adding #map-mount [data-edit-asset],.is-adding #map-mount .asset-hit{cursor:crosshair!important}@media(max-width:700px){.add-tools{gap:7px}.add-tools>strong{flex-basis:100%}.add-tools label{flex:1;max-width:none}.add-tools label:has(select){flex:0 0 90px}.add-tools .button{font-size:10px}}

.backup-manager{max-width:760px;width:calc(100% - 28px);max-height:90svh;overflow:auto;padding:32px;border:1px solid #b9c8ae;border-radius:10px;color:#153b2d;background:#fffefa}.backup-manager::backdrop,.backup-warning::backdrop{background:#09291f99}.backup-manager h2{font-size:32px;margin:0 35px 20px 0}.backup-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#35563d;font-size:28px;padding:6px 10px}.backup-intro p,.backup-entry p{font-size:13px;line-height:1.75;margin:12px 0}.backup-storage-note{background:#eaf0e2;padding:12px;border-radius:4px}.backup-create{padding:18px 0;border-top:1px solid #d8e0d1;border-bottom:1px solid #d8e0d1;margin-top:20px}.backup-create label{font-size:12px}.backup-create input{max-width:100%}.backup-hint{font-size:11px;color:#687c70;line-height:1.7;margin:9px 0 15px}.backup-import{margin:18px 0;font-size:12px}.backup-import input{font-size:12px;margin-top:9px;padding:10px}.backup-status{font-size:12px;line-height:1.7;color:#355d3b;background:#f0f3e9;padding:12px;overflow-wrap:anywhere;min-height:38px}.backup-list h3{font:18px Georgia;margin-top:25px}.backup-entry{padding:18px 0;border-top:1px solid #d8e0d1;overflow-wrap:anywhere}.backup-entry>strong{font-size:14px;display:block;line-height:1.7}.backup-entry small{display:block;font-size:10px;color:#687c70;margin:7px 0 14px;line-height:1.7}.backup-entry>div{display:flex;gap:9px;flex-wrap:wrap}.backup-manager .button,.backup-warning .button{font-size:12px;padding:11px 16px;min-height:40px;gap:6px}.backup-warning{max-width:520px;width:calc(100% - 28px);border:1px solid #b9c8ae;border-radius:8px;padding:30px;color:#153b2d;background:#fffefa}.backup-warning h2{font-size:30px;line-height:1.2;margin:0 0 18px}.backup-warning p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.backup-warning>div{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:700px){.backup-manager{padding:24px 18px}.backup-manager h2{font-size:28px}.backup-warning{padding:24px 18px}}

@media(max-width:700px){.add-tools>strong{margin-bottom:2px}.add-tools>label{flex-basis:100%;min-width:0;max-width:none}.add-tools input{min-width:0}.add-tools .button{flex:1 1 auto}.maintenance-toolbar{align-items:flex-end}.maintenance-toolbar>label{min-width:0}.heading-actions{flex-wrap:wrap}.backup-import input{min-width:0;max-width:100%}}

/* Keep toolbar fields and their actions on the same control baseline. */
.maintenance-toolbar,.add-tools{align-items:flex-end}
.maintenance-toolbar input,.maintenance-toolbar select,.maintenance-toolbar .button{height:40px;min-height:40px;line-height:1.2}
.maintenance-toolbar .button{margin:0}
.maintenance-toolbar .button:hover{transform:none}
.add-tools>strong{display:flex;align-items:center;min-height:40px;margin-bottom:0}
@media(max-width:700px){.add-tools>strong{display:block;min-height:0;margin-bottom:2px}}

/* Match the tagline to the wordmark's visible text width on every page. */
.wordmark{position:relative;padding-bottom:17px}
.wordmark small{position:absolute;left:0;right:1.8px;bottom:0;display:flex;justify-content:space-between;margin:0;font-size:7.6px;line-height:1;letter-spacing:0;white-space:pre;text-transform:uppercase}
.wordmark small span{font:inherit;color:inherit}
@media(max-width:700px){.wordmark{padding-bottom:15px}.wordmark small{font-size:6px}}

/* Public privacy notice and compact links on every page. */
.privacy-link,.privacy-footer a{text-decoration:underline;text-underline-offset:4px}.privacy-link{font-size:12px}.privacy-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 6%;background:var(--deep);color:#c7d3c6;font-size:12px}.privacy-footer a{padding:8px 0;color:#f1dfb6}.login-page>.privacy-footer{grid-column:1/-1}.privacy-content{max-width:900px;margin:auto;padding:64px 28px 80px;font-size:16px;line-height:1.8}.privacy-content h1{font-size:clamp(44px,7vw,64px);margin-bottom:12px}.privacy-content h2{font-size:29px;letter-spacing:-.5px;line-height:1.3;margin:0 0 18px}.privacy-content section{margin-top:42px;scroll-margin-top:28px}.privacy-content li{margin-bottom:12px}.privacy-content a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.policy-date{font-size:14px;color:#586e60}.privacy-promise{background:#e4ebdc;border-left:4px solid #315b3c;padding:28px;margin:30px 0}.privacy-promise h2{font-size:28px}.privacy-promise p{margin:0}.policy-toc{padding:18px 22px;border:1px solid var(--line)}.policy-toc summary{cursor:pointer;font-weight:bold}.policy-toc nav{display:grid;gap:10px;margin-top:16px}.privacy-content ul{padding-left:24px}@media(max-width:620px){.privacy-content{padding:40px 20px 55px}.privacy-page .site-nav{gap:24px;flex-wrap:wrap}.privacy-page .site-nav nav{display:flex;gap:22px}.privacy-promise{padding:20px}.privacy-footer{align-items:flex-start}}@media print{.privacy-footer,.privacy-page .site-nav,.policy-toc{display:none!important}.privacy-content{padding:0;max-width:none}.privacy-content section{break-inside:avoid}}

/* Design credit sits on its own balanced row on the marketing footer. */
.design-credit{font-size:12px;line-height:1.7;color:inherit}.design-credit a{font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.site-footer .design-credit{flex-basis:100%;text-align:center;padding-top:18px;border-top:1px solid #ffffff21}.privacy-footer .design-credit{margin-left:auto}.privacy-footer{column-gap:30px}@media(max-width:620px){.privacy-footer .design-credit{flex-basis:100%;margin-left:0;padding-top:10px;border-top:1px solid #ffffff21}.site-footer .design-credit{text-align:left}}
.auth-tabs{display:flex;gap:10px;margin:22px 0}.auth-tabs .button{flex:1}.account-content{max-width:900px;margin:auto;padding:55px 24px}.account-content h1{font-size:48px}.account-content h2{font-size:30px}.account-content section{margin-bottom:38px;padding:28px;background:#fffefa;border:1px solid var(--line)}.account-content form{max-width:520px}.account-content label{display:block;margin:18px 0 7px;font-size:14px}.account-content input{width:100%;padding:13px;border:1px solid #b9c6b6;background:white}.account-content form button{margin-top:22px}.account-content a.button{margin:8px 12px 8px 0}.admin-user{padding:24px 0;border-bottom:1px solid var(--line)}.admin-user input{margin:10px 0}.admin-user button{margin:5px}#auth-status,#account-status,#admin-status{line-height:1.6;color:#315b3c;white-space:pre-wrap}#signin-form button,#signup-form button,#reset-form button{margin-top:24px}#forgot-password{margin-top:22px}.form-help a{text-decoration:underline}#signup-form[hidden],#signin-form[hidden],#reset-form[hidden]{display:none}@media(max-width:620px){.account-content section{padding:20px}.account-page .site-nav{gap:25px;flex-wrap:wrap}.account-page .site-nav nav{display:flex;gap:20px}}
/* Course and track controls use the same sizing as email/password inputs. */
#signin-form select{display:block;width:100%;padding:14px 12px;min-height:48px;background:#fffefa;border:1px solid #cbd4c5;color:var(--ink);font:inherit}#auth-status .button{margin-top:12px}

#signup-course-choice{display:block;width:100%;padding:14px 12px;min-height:48px;background:#fffefa;border:1px solid #cbd4c5;color:var(--ink);font:inherit}

.password-field{position:relative;width:100%}.password-field input{padding-right:55px!important}.password-field .password-eye{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0!important;padding:0;background:transparent;border:0;color:#52695b;cursor:pointer}.password-eye:hover{background:#e5ebdf;border-radius:4px}.password-eye:focus-visible{outline:2px solid #9b7b3f;outline-offset:-3px}.field-error{color:#b4222a;font-size:14px;line-height:1.5;margin:9px 0 0}.password-field:has(input[aria-invalid="true"]) input{border-color:#b4222a}

/* Keep feature controls scrollable without zooming the map behind them. */
.map-stage{touch-action:auto}#map-mount{touch-action:none}.asset-popover{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:calc(100dvh - 32px);touch-action:pan-y}.asset-panel-header{position:relative;flex:0 0 auto;padding:16px 48px 10px 22px;border-bottom:1px solid #dce2d5;background:#fffefa}.asset-panel-header h2{margin:0 0 8px}.asset-panel-header #asset-identifier{margin:0;font-size:10px}.asset-popover #asset-detail{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:14px 20px 28px 22px;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:#82967b #eef1e6}.asset-popover #asset-detail::-webkit-scrollbar{width:10px}.asset-popover #asset-detail::-webkit-scrollbar-thumb{background:#82967b;border:2px solid #eef1e6;border-radius:8px}.asset-popover #asset-detail::-webkit-scrollbar-track{background:#eef1e6}.asset-popover #close-asset{top:8px;right:8px;min-width:36px;min-height:36px}.asset-popover #asset-detail:focus-visible{outline:2px solid #9bad8d;outline-offset:-2px}
/* A flex-column login panel must not stretch the wordmark across its width. */
.wordmark{width:max-content;max-width:100%;flex-shrink:0}.login-story>.wordmark{align-self:flex-start}
.test-drive-notice{padding:22px 25px;background:#173f30;color:#f5efdc;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.test-drive-notice>div{flex:1 1 300px}.test-drive-notice strong{font:28px Georgia;display:block;margin-bottom:9px}.test-drive-notice span{display:block;font-size:13px;line-height:1.7;color:#d4dfcb}.test-drive-notice p{font-size:11px;line-height:1.7;max-width:270px;margin:0;color:#ccdbbd}.test-drive-notice>a{font-size:12px;color:#ecd5a7;text-decoration:underline}.test-drive-invite{display:block;border:1px solid #b8c9ad;background:#e6ecdf;padding:17px 20px;margin-bottom:28px}.test-drive-invite strong{display:block;font-size:17px;margin-bottom:8px}.test-drive-invite span{font-size:12px;color:#5e765b}.hero .actions .test-drive-link{order:-1}.test-drive-notice+.maintenance-toolbar{border-top:0}
