.grc-app{--green:#126b4b;--green2:#1f9d66;--ink:#17332a;--muted:#5d7069;--line:#dce8e1;--soft:#f2f8f4;--gold:#e8b84a;max-width:1120px;margin:32px auto;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.grc-app *{box-sizing:border-box}.grc-app [hidden]{display:none!important}.grc-hero{padding:44px clamp(24px,6vw,72px);border-radius:28px;background:radial-gradient(circle at 90% 10%,#bfe7bb 0,transparent 32%),linear-gradient(135deg,#0d4936,#157554);color:#fff;box-shadow:0 20px 55px rgba(15,75,53,.18)}
.grc-hero h2{max-width:760px;margin:7px 0 10px;font-size:clamp(2rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.045em}.grc-hero p:last-child{max-width:680px;margin:0;font-size:1.08rem;color:#dcefe7}.grc-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800}
.grc-form{margin-top:22px}.grc-panel{margin:16px 0;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 28px rgba(21,57,44,.05)}.grc-panel h3{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:1.2rem}.grc-panel h3 span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:white;font-size:.85rem}
.grc-saved-picker{margin:18px 0;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.grc-saved-picker label{max-width:430px}
.grc-grid{display:grid;gap:16px}.grc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grc-grid-4{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.grc-app label{display:flex;flex-direction:column;gap:7px;font-size:.84rem;font-weight:750;color:#334d44}.grc-app input,.grc-app select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #bfcfc6;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.grc-app input:focus,.grc-app select:focus{outline:3px solid rgba(31,157,102,.18);border-color:var(--green2)}.grc-check{align-self:end;min-height:46px;flex-direction:row!important;align-items:center!important}.grc-check input{width:20px;min-height:20px}.grc-manual{margin-top:17px;color:var(--muted)}.grc-manual label{max-width:320px;margin-top:12px}
.grc-address-field{position:relative}.grc-suggestions{position:absolute;z-index:20;top:72px;left:0;right:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 35px rgba(16,54,40,.18)}.grc-suggestions button{display:block;width:100%;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.grc-suggestions button:hover,.grc-suggestions button:focus{background:var(--soft)}.grc-suggestions small{display:block;padding:7px 13px;color:var(--muted);text-align:right}.grc-one-way-note{align-self:end;margin:0 0 12px;color:var(--muted);font-size:.86rem}
.grc-routine summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.grc-routine summary::-webkit-details-marker{display:none}.grc-routine summary span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--green);color:white;font-size:.85rem}.grc-routine summary small{margin-left:auto;padding:4px 9px;border-radius:999px;background:var(--soft);color:var(--green)}.grc-routine>p{color:var(--muted)}
.grc-actions{display:flex;align-items:center;gap:18px;padding:10px 4px}.grc-actions p{margin:0;color:var(--muted);font-size:.8rem}.grc-primary,.grc-secondary{appearance:none;display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border:0;border-radius:12px;background:var(--green);color:#fff!important;font-weight:800;text-decoration:none;cursor:pointer}.grc-primary:hover,.grc-secondary:hover{background:#0b553b}.grc-primary:disabled{opacity:.65;cursor:wait}.grc-error{margin:15px 0;padding:14px 18px;border-radius:12px;background:#fff0ef;color:#922d26}
.grc-results{scroll-margin-top:30px}.grc-result-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:30px 0 12px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}.grc-period-tabs{display:flex;gap:4px;padding:4px;border-radius:11px;background:var(--soft)}.grc-period-tabs button,.grc-fuel-assumption button{padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-weight:750;cursor:pointer}.grc-period-tabs button.is-active{background:var(--green);color:#fff}.grc-fuel-assumption{margin-left:auto;color:var(--muted);font-size:.88rem}.grc-fuel-assumption button{padding:3px 6px;color:var(--green);text-decoration:underline}.grc-fuel-editor{display:flex;align-items:end;gap:8px;width:100%;padding-top:12px;border-top:1px solid var(--line)}.grc-fuel-editor label{max-width:260px}.grc-fuel-editor .grc-secondary{min-height:46px}.grc-recommendation{margin:12px 0 18px;padding:28px;border-radius:20px;background:#e8f7ed;border-left:6px solid var(--green2)}.grc-recommendation h3{margin:5px 0 8px;font-size:clamp(1.5rem,3vw,2.25rem)}.grc-recommendation p:not(.grc-eyebrow){font-size:1.03rem;line-height:1.65}.grc-recommendation small{color:var(--muted)}
.grc-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grc-route-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.grc-route-card.is-best{border:2px solid var(--green2);box-shadow:0 12px 32px rgba(31,157,102,.12)}.grc-card-top{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.grc-card-top strong{color:var(--green)}.grc-big{margin:20px 0;font-size:2.4rem;font-weight:850}.grc-big small{font-size:.8rem;color:var(--muted)}.grc-route-card dl{margin:0}.grc-route-card dl div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line)}.grc-route-card dt{color:var(--muted)}.grc-route-card dd{margin:0;font-weight:750}
.grc-chart-panel{margin-top:18px;padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.grc-chart-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.grc-chart-head h3{margin:5px 0 0;font-size:1.55rem}.grc-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:4px;border-radius:12px;background:var(--soft)}.grc-tabs button{padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font-weight:700;cursor:pointer}.grc-tabs button.is-active{background:#fff;box-shadow:0 2px 8px rgba(20,50,40,.1)}.grc-canvas-wrap{height:330px;margin-top:24px}.grc-table-wrap{margin-top:15px}.grc-table-wrap table{width:100%;margin-top:12px;border-collapse:collapse}.grc-table-wrap th,.grc-table-wrap td{padding:9px;border-bottom:1px solid var(--line);text-align:left}
.grc-save{display:flex;align-items:center;gap:15px;margin-top:18px;padding:23px;border-radius:18px;background:var(--ink);color:#fff}.grc-save h3,.grc-save p{margin:0}.grc-save p{margin-top:5px;color:#c8d8d1}.grc-save-controls{display:flex;gap:8px;margin-left:auto}.grc-save-controls input{min-width:190px}.grc-save .grc-secondary{margin-left:auto;background:var(--gold);color:#26352f!important}.grc-text-link{color:#fff!important}
@media(max-width:760px){.grc-app{margin:16px auto}.grc-hero{border-radius:20px}.grc-grid-2,.grc-route-cards{grid-template-columns:1fr}.grc-actions,.grc-chart-head,.grc-save{align-items:stretch;flex-direction:column}.grc-primary{width:100%}.grc-tabs{margin-top:10px}.grc-fuel-assumption{width:100%;margin-left:0}.grc-fuel-editor{align-items:stretch;flex-direction:column}.grc-save .grc-secondary{margin-left:0}.grc-save-controls{width:100%;margin-left:0;flex-direction:column}.grc-canvas-wrap{height:300px}}
@media(prefers-reduced-motion:reduce){.grc-app *{scroll-behavior:auto!important;transition:none!important}}
