.terrain-filters{display:grid;grid-template-columns:2fr 1fr 2fr;gap:18px;margin-bottom:20px}
.terrain-educators{display:grid;gap:18px}.terrain-educator-head,.terrain-profile-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.terrain-educator-head h3{margin:0}.terrain-educator-head p,.terrain-profile-line p{margin:8px 0;color:var(--muted)}
.terrain-visit-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.terrain-visit-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.terrain-visit-tile{display:flex;flex-direction:column;gap:9px;align-items:flex-start;text-align:left;background:#f5f8fc;border:1px solid #cbd8e7;border-radius:14px;padding:16px;color:var(--navy);cursor:pointer;font:inherit;min-width:0}
.terrain-visit-tile:hover,.terrain-visit-tile:focus-visible{border-color:#1767ac;box-shadow:0 0 0 2px #bbd9ef}.terrain-visit-tile.recorded{background:#eef8f2;border-color:#9fcdb2}
.terrain-visit-tile>span{font-size:12px;font-weight:800}.terrain-visit-tile>strong{font-size:18px}.terrain-visit-tile>small{line-height:1.5}
.terrain-profile-card{border:1px solid #cbd8e7;border-left:5px solid #16834d;border-radius:15px;padding:22px;background:#f5faf7;margin-top:24px}
.terrain-profile-brevet+.terrain-profile-brevet{margin-top:24px}.terrain-visit-action{margin-top:auto;text-decoration:underline;text-underline-offset:3px}
#terrainDialog{width:min(1050px,calc(100vw - 24px));max-width:1050px}
.terrain-visit-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.terrain-visit-tabs .button{padding:10px 14px;min-height:44px}
.terrain-fields{margin:0;padding:0;border:0;min-width:0}.terrain-fields>.form-grid{margin-bottom:20px}
.terrain-legend{padding:14px 18px;border-radius:12px;background:#eff5fc;line-height:1.6;color:#243e5b}
.terrain-criteria-heading{border-bottom:2px solid #d5e2ee;padding:18px 0 10px;margin-top:16px}.terrain-criteria-heading h3{font-size:17px;line-height:1.45;margin:0}.terrain-criteria-heading h4{margin:7px 0 0;font-size:15px;color:#45627d}
.terrain-criterion{border:0;border-bottom:1px solid #e1e8f0;margin:0;padding:18px 0;min-width:0}.terrain-criterion legend{float:left;width:100%;margin-bottom:12px;font-size:14px;font-weight:650;line-height:1.55;color:#183854}.terrain-criterion:after{content:'';display:block;clear:both}
.terrain-rating-options{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.terrain-open-grid{display:block;margin:8px auto 0;min-height:44px;white-space:nowrap}
.terrain-rating{position:relative;display:block!important;margin:0!important;cursor:pointer;font-size:14px!important;letter-spacing:normal!important;text-transform:none!important}
.terrain-rating input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.terrain-rating span{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:64px;padding:8px 12px;border:1px solid #bdcad9;background:white;border-radius:9px;color:#4b5869;font-weight:700}
.terrain-rating input:checked+span{background:#fff1c8;border:2px solid #946100;color:#704500;padding:7px 11px}.terrain-rating input:focus-visible+span{outline:3px solid #1674c0;outline-offset:3px}
.terrain-rating input:disabled+span{cursor:default}.terrain-fields:disabled .terrain-rating input:not(:checked)+span{opacity:.55}
.terrain-notes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.terrain-notes label:last-child{grid-column:1/-1}.terrain-notes textarea{min-height:110px;resize:vertical}
.terrain-footer{position:sticky;bottom:0;background:white;border-top:1px solid #d8e2ee;padding:16px 0 0;margin-top:20px}.terrain-footer p{margin:0 0 10px;line-height:1.5}.terrain-footer .row-actions{justify-content:space-between}
@media(max-width:850px){.terrain-visit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-filters{grid-template-columns:1fr 1fr}.terrain-filters label:last-child{grid-column:1/-1}}
@media(max-width:580px){.terrain-filters,.terrain-notes{grid-template-columns:1fr}.terrain-filters label:last-child,.terrain-notes label:last-child{grid-column:auto}.terrain-educator-head,.terrain-profile-line{align-items:flex-start;flex-direction:column}.terrain-visit-tile{padding:12px}.terrain-rating-options{gap:6px}.terrain-rating span{min-width:46px;padding:8px}.terrain-rating input:checked+span{padding:7px}.terrain-visit-tabs{display:grid;grid-template-columns:1fr 1fr}.terrain-visit-tabs .button{padding:9px;font-size:12px}.terrain-footer{position:static}.terrain-profile-card{padding:16px}}
