:root{--green:#193f33;--paper:#f5f4ed;--lime:#e0e9af;--line:#d3dccd;--muted:#536650}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--green);font:14px/1.6 Inter,Arial,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #8e9f88;background:transparent;color:var(--green);border-radius:5px;padding:8px 14px}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad7519;outline-offset:3px}header{background:var(--green);color:white;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(5%,calc((100vw - 1200px)/2))}.brand{font:700 19px Merriweather,Georgia,serif;text-decoration:none}.brand small{display:block;font:9px Inter,sans-serif;letter-spacing:2px;margin-top:8px;color:var(--lime)}header>a:last-child{font-size:12px}main{width:min(1200px,90%);margin:35px auto 65px;min-height:65vh}h1,h2,h3{font-family:Merriweather,Georgia,serif;line-height:1.35}h1{font-size:32px;font-weight:400;margin:12px 0}h2{font-size:23px;font-weight:400;margin:0 0 12px}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase}.auth-card{max-width:490px;margin:55px auto;padding:35px;background:white;border:1px solid var(--line);border-radius:7px}.auth-card h1{font-size:29px}label{display:block;font-weight:600;font-size:13px;margin:17px 0}input,select,textarea{display:block;width:100%;border:1px solid #9dad93;border-radius:4px;padding:11px;background:white;color:var(--green);margin-top:6px}textarea{min-height:95px;resize:vertical;font-weight:400;line-height:1.5}small,.hint{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:7px}.auth-card form>.primary{width:100%;margin-top:15px}.page-heading,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:25px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0 0;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button{border:0}.tabs button.selected{background:var(--green);color:white}.panel{background:white;border:1px solid var(--line);border-radius:6px;margin-top:22px;padding:30px}.panel-heading p{margin-bottom:0}.badge{font-size:11px;background:#edf1e5;border-radius:20px;padding:5px 12px;white-space:nowrap}.toolbar{display:flex;align-items:end;gap:15px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:15px 0 22px}.toolbar label{margin:0 auto 0 0;min-width:170px}.field-card{background:#f8f9f4;border:1px solid var(--line);border-radius:5px;padding:15px 20px;margin:15px 0}.field-card summary{cursor:pointer;font-weight:600}.field-card summary small{font-weight:400}.field-card label{margin-bottom:8px}.roles,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.roles>div{border-left:3px solid #a7b984;padding:8px 15px;background:#f6f8f0}.roles p{font-size:12px;margin:5px 0}#new-user-details{margin:25px 0;border:1px solid var(--line);padding:17px;border-radius:4px}summary{cursor:pointer}.form-grid label{margin:0}.form-grid{padding-top:18px}.form-grid button{justify-self:start;align-self:end}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:560px}caption{text-align:left;font-size:12px;margin:20px 0 10px}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}th{font-size:11px;letter-spacing:.7px;text-transform:uppercase;background:#f6f8f1}td small{margin:2px 0}.inactive{color:#864738}.narrow{max-width:650px}.events{list-style:none;padding:0}.events li{padding:16px 0;border-bottom:1px solid var(--line)}.notice,#status:not(:empty){background:#edf2df;border:1px solid #b4c99f;padding:14px 18px;border-radius:5px;margin-bottom:20px}#status.error,#dialog-error{color:#87332b}#status.error{background:#fff0ec;border-color:#dcaba3}.notice{margin-top:20px}dialog{max-width:520px;width:90%;border:1px solid var(--line);border-radius:7px;padding:30px;color:var(--green)}dialog::backdrop{background:#142d25bf}.close{float:right;padding:4px 12px}footer{text-align:center;font-size:11px;color:var(--muted);padding:25px;border-top:1px solid var(--line)}.skip{position:absolute;top:-100px;background:white;padding:10px}.skip:focus{top:0}[hidden]{display:none!important}@media(max-width:650px){header{padding:20px 5%;flex-direction:column;align-items:start}h1{font-size:27px}.auth-card{padding:25px;margin:25px auto}.page-heading,.panel-heading{align-items:start;flex-direction:column}.panel{padding:20px}.roles,.form-grid{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar label{width:100%}.tabs{gap:0}.tabs button{font-size:12px;padding:8px}.toolbar button{flex:1}}
.photo-editor{border:1px solid var(--line);border-radius:5px;margin:22px 0 5px;padding:16px;min-width:0}.photo-editor legend{font-weight:600}.photo-preview{position:relative;max-width:360px;height:220px;border-radius:5px;overflow:hidden;background:#e7edda}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-credit{position:absolute;right:7px;bottom:7px;max-width:calc(100% - 14px);background:#10271feb;color:white;font:11px/1.4 Inter,Arial,sans-serif;padding:4px 7px;border-radius:3px;overflow-wrap:anywhere;text-align:right}
.taxonomy-editor{margin-top:25px;border-top:1px solid var(--line);padding-top:12px}.taxonomy-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.taxonomy-column{padding:12px;background:white;border:1px solid var(--line);border-radius:5px;min-width:0}.taxonomy-column h4{margin:0 0 15px}.taxonomy-options{list-style:none;margin:0 0 15px;padding:0;max-height:240px;overflow:auto}.taxonomy-options button{width:100%;border:0;text-align:left;padding:8px;overflow-wrap:anywhere}.taxonomy-options button[aria-pressed=true]{background:var(--green);color:white}.taxonomy-column>button{width:100%;padding:8px;font-size:12px}.taxon-edit-fields{margin-top:18px;border-top:1px solid var(--line)}.taxon-edit-fields .remove-taxon{font-size:12px;color:#87332b}.taxon-edit-fields textarea{min-height:75px}@media(max-width:850px){.taxonomy-columns{grid-template-columns:1fr}}
.collapsible-photo>summary{font-weight:600;cursor:pointer;overflow-wrap:anywhere}.photo-collapse-action{display:inline-block;margin-left:12px;font-size:12px;text-decoration:underline}.collapsible-photo[open]>summary{margin-bottom:16px}.collapsible-photo[open]>summary .when-closed,.collapsible-photo:not([open])>summary .when-open{display:none}

.suborder-editor{margin-top:24px}.suborder-editor>fieldset{margin:18px 0;padding:18px;border:1px solid #9bad90;border-radius:5px}.suborder-editor legend{font-weight:700}

.family-marker{border:1px solid #9bad90;border-radius:4px;padding:12px;margin:12px 0}.family-marker label{display:flex;align-items:center;gap:8px}.family-marker input[type=radio]{width:auto;min-width:0;margin:0;accent-color:#193f33}
.general-content{margin:20px 0 28px}.general-content>summary{padding:4px 0}.general-content>.panel-heading{margin-top:20px}.toolbar+.badge{display:inline-block;margin-top:14px}

.species-editor{min-width:0;padding:12px;margin:18px 0;border:1px solid var(--line);border-radius:5px}.species-editor legend{font-weight:600}

.sex-image-editor{min-width:0;border:1px solid var(--line);border-radius:4px;margin:15px 0;padding:12px}.sex-image-editor legend{font-weight:600}.sex-image-option{display:flex;align-items:center;gap:8px;font-weight:400}.sex-image-option input[type=radio]{width:auto;min-width:0;margin:0;accent-color:var(--green)}

.taxonomy-options button[data-level="1"],.taxonomy-options button[data-level="2"],input[data-tax-name="1"],input[data-tax-name="2"],input[data-species-field="genus"]{font-style:italic}
.sex-image-editor .photo-preview{width:100%;max-width:360px;height:auto;aspect-ratio:1/1}.sex-image-editor .photo-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.sex-image-editor .photo-preview{background:#fff}.sex-image-editor .photo-preview img{object-fit:contain;object-position:50% 50%;padding:0;max-width:none;max-height:none}

.taxonomy-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.taxonomy-filters select{width:100%;min-width:0}.catalogue-filter-panel{padding:16px;background:#f1f5ed;border:1px solid #cbd5c5;border-radius:6px;margin-bottom:20px}#map-marker-fields>fieldset{margin:20px 0;padding:18px}#map-marker-fields .taxonomy-filters{margin-top:16px}@media(max-width:800px){.taxonomy-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.marker-icon-options svg,.marker-style-preview img{display:block;width:48px;height:64px;object-fit:contain}.marker-color-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:18px}.marker-palette{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.marker-palette button{width:30px;height:30px;min-height:30px;border:2px solid white;border-radius:50%;padding:0;box-shadow:0 0 0 1px #aab8a4}.marker-palette button[aria-pressed="true"]{outline:3px solid #233f30;outline-offset:2px}.marker-color-row input[type="color"]{padding:3px;width:64px;height:40px;cursor:pointer}.marker-style-preview{display:flex;align-items:center;gap:10px}.marker-appearance{margin-top:20px}

.city-lookup{padding:12px 0 18px}.city-lookup small{display:block;margin-top:10px}.city-lookup select{max-width:100%}

.city-lookup{padding:12px 0 18px}.city-lookup small{display:block;margin-top:10px}.city-lookup select{max-width:100%}

.marker-card>summary{font-style:italic;overflow-wrap:anywhere}.marker-card>fieldset{min-width:0;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:5px}

.species-locality-list{list-style:none;padding:0;margin:12px 0}.species-locality-list li{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:8px}.species-locality-list [data-edit-locality]{flex:1;text-align:left;border:0;overflow-wrap:anywhere}.species-locality-list [aria-pressed="true"]{background:#edf2df}.remove-locality{font-size:23px;color:#87332b;border:0;padding:5px 12px}.locality-editor{margin-top:20px;border:1px solid var(--line);border-radius:5px;padding:16px}
/* Responsive administration forms and editors. */
input[data-group][data-property="es"],input[data-group][data-property="en"],select[data-group][data-property="rank"],input[data-author]{width:min(100%,340px)}
.photo-editor .photo-preview{width:fit-content;max-width:min(100%,300px);height:auto;aspect-ratio:auto;background:transparent}.photo-editor .photo-preview img{display:block;position:static;width:auto;height:auto;max-width:100%;max-height:180px;object-fit:contain;padding:0}
main>*,.panel>*,.form-grid>*,.roles>*,.taxonomy-columns>*,.toolbar>*,.taxonomy-filters>*{min-width:0}fieldset{min-width:0}button{max-width:100%;white-space:normal}input,select,textarea{min-width:0;max-width:100%}.table-scroll{max-width:100%}.events li,.badge,.hint{overflow-wrap:anywhere}.badge{white-space:normal}dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.photo-preview{max-width:100%}
@media(max-width:850px){.toolbar{gap:12px}.page-heading{flex-wrap:wrap}.taxonomy-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){main{width:92%;margin-top:24px}.panel{padding:16px}.field-card{padding:12px}.auth-card{padding:22px 18px}.toolbar{align-items:flex-start}.toolbar button{flex:0 1 auto}.taxonomy-filters{grid-template-columns:minmax(0,1fr)}.tabs{gap:6px}.tabs button{padding:8px}.form-grid,.roles{grid-template-columns:minmax(0,1fr)}.panel-heading,.page-heading{gap:12px}.photo-preview{height:auto;aspect-ratio:18/11}.marker-color-row{gap:12px}#map-marker-fields>fieldset,.marker-card>fieldset{padding:12px}dialog{padding:20px 16px}input,select,textarea{font-size:16px}}
.survey-answers dt{font-weight:600;margin-top:18px}.survey-answers dd{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.survey-photos{display:flex;gap:16px;flex-wrap:wrap}.survey-photos img{max-width:min(100%,360px);max-height:320px;object-fit:contain}#survey-response:not(:empty){border-top:1px solid var(--line);margin-top:24px;padding-top:20px}

.response-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;text-align:left;margin:10px 0;padding:16px;border:1px solid var(--line);border-radius:8px}.response-row span{font-size:13px;color:#586953}.response-section{padding:18px;margin:18px 0;border:1px solid var(--line);border-radius:10px}.response-section h4{margin-top:0}#sighting-response:not(:empty){border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.survey-answers{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:10px 22px}.survey-answers dt,.survey-answers dd{margin:0;padding:8px 0;border-bottom:1px solid var(--line)}@media(max-width:650px){.survey-answers{grid-template-columns:minmax(0,1fr);gap:0}.survey-answers dt{border-bottom:0;padding-bottom:0}.response-section{padding:12px}}

#admin-point-map{height:380px;width:100%;margin:16px 0;z-index:0;border:1px solid #ccd5cc;border-radius:8px}.point-location fieldset{display:flex;gap:20px;flex-wrap:wrap}.point-location fieldset label{display:flex;align-items:center;gap:8px}.point-location input[type=radio]{width:auto}.point-location .map-record-icon{width:48px;height:64px;background:transparent;border:0}

.admin-point-map-frame{position:relative}.point-map-warning{position:absolute;z-index:1000;left:50%;top:45%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100% - 40px);padding:12px 16px;margin:0;border:1px solid #9bad90;border-radius:6px;background:#f5f4ed;color:#193f33;box-shadow:0 2px 12px #193f3325;font:600 13px/1.7 Inter,Arial,sans-serif;text-align:center;pointer-events:none}.point-location-note{max-width:900px;font:12px/1.7 Inter,Arial,sans-serif;color:#586953;margin:12px 0}.point-detail-row{display:block}.locality-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px}

#generated-site-pin{font-size:24px;font-weight:700;letter-spacing:2px;color:var(--green);overflow-wrap:anywhere}

#generated-site-pin.error,#generated-site-pin.busy{font-size:14px;letter-spacing:0}#generated-site-pin.error{color:#8b302a}

.storage-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.storage-values dt{font-size:11px;color:var(--muted)}.storage-values dd{font-size:20px;font-weight:700;margin:5px 0;overflow-wrap:anywhere}#storage-progress{width:100%;height:12px;accent-color:var(--green)}@media(max-width:500px){.storage-values{grid-template-columns:1fr}.storage-values dd{font-size:22px}}

.minimize-response{display:block;margin:12px 0;min-height:44px}

.response-list-item{display:flex;align-items:center;gap:10px}.response-list-item .response-row{flex:1;min-width:0}.delete-response{flex:0 0 44px;width:44px;min-height:44px;padding:0;font-size:28px;line-height:1;color:#a52b2b;border-color:#d9b0b0}.delete-response:hover{background:#fff0f0}

.panel-selector{display:block;max-width:520px;margin:20px 0}.panel-selector select{display:block;width:100%;margin-top:8px}#forms-view>.panel{padding:20px 0;border:0;box-shadow:none}#group-fields>[hidden]{display:none}

.species-choice-field{padding:14px;border:1px solid #cbd8c5;border-radius:10px;margin:12px 0}.species-choice-field legend{padding:0 6px;font-weight:600;font-size:14px}.species-choice-option{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:9px 10px;margin:5px 0;border:1px solid #dce4d6;border-radius:8px;background:#fff;cursor:pointer}.species-choice-option:has(input:checked){background:#eef4e9;border-color:#698663}.species-choice-option input[type=radio]{width:16px;height:16px;min-width:16px;margin:0;accent-color:#315947}.species-choice-option span{font-size:13px;line-height:1.5}

/* Compact side-by-side infraorder editors and photo thumbnails. */
.suborder-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.suborder-editor>h3,.suborder-editor>.hint{grid-column:1/-1;margin:0}
.suborder-editor>fieldset{min-width:0;margin:0;padding:16px;border-radius:10px}
.suborder-editor>fieldset>label>textarea{min-height:100px}
.photo-editor .photo-preview{position:relative;width:220px;max-width:100%;height:auto;aspect-ratio:16/10;background:#f3f6ee;border:1px solid #d7e0cf;border-radius:8px;margin:10px 0}
.photo-editor .photo-preview img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.sex-image-editor .photo-editor .photo-preview{width:160px;aspect-ratio:1}
.photo-editor .photo-preview .photo-credit{font-size:9px;padding:3px 5px;right:4px;bottom:4px}
@media(max-width:800px){.suborder-editor{grid-template-columns:minmax(0,1fr)}}

.species-type-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.species-type-pair>.species-choice-field{min-width:0;margin:12px 0}@media(max-width:600px){.species-type-pair{grid-template-columns:minmax(0,1fr);gap:0}}

.point-coordinate-entry{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.point-coordinate-entry label{flex:1 1 180px}.point-coordinate-entry input{width:100%;box-sizing:border-box}.point-map-tools{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}#admin-point-map{height:460px}.admin-point-map-frame.point-map-expanded #admin-point-map{height:75vh;min-height:480px}.point-location .leaflet-control-layers{font:13px/1.5 Arial,sans-serif}.point-location .leaflet-control-layers label{display:block;margin:3px 0}.point-location .leaflet-control-layers input{width:auto;display:inline-block}@media(max-width:600px){#admin-point-map{height:400px}.admin-point-map-frame.point-map-expanded #admin-point-map{height:70vh;min-height:400px}}

.species-consideration-editor{margin:16px 0;padding:16px;border:1px solid #ccd5cc;border-radius:8px}.species-consideration-editor legend{font-weight:700}.species-consideration-editor textarea{min-height:110px}.species-consideration-editor .consideration-title-red{color:#b42318}.species-consideration-editor button[aria-pressed="true"]{border-color:#b42318;color:#b42318}

.share-image-option{display:flex;align-items:center;gap:8px;margin:14px 0;font-weight:600}.share-image-option input[type=radio]{width:auto;flex:0 0 auto}

.scientific-name,.taxon-name em,#taxon-title em{font-style:italic}input[data-tax-name],input[data-species-field="kingdom"],input[data-species-field="phylum"],input[data-species-field="class"],input[data-species-field="order"],input[data-species-field="suborder"],input[data-species-field="family"],input[data-species-field="genus"],select[data-tax-filter],select[data-tax-filter] option,#admin-order-select,#admin-order-select option{font-style:italic}select[data-tax-filter] option[value=""],#admin-order-select option[value=""]{font-style:normal}

.taxonomic-sources-input{color:#101810;font-weight:600}

.species-text-tools{margin:-4px 0 18px}.species-italic-button{font-style:italic;margin-bottom:8px}.species-text-tools>small{display:block;color:#586953;margin:4px 0}.species-text-preview{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;border:1px solid #d7ded5;border-radius:6px;background:#f8f9f4;min-height:42px;color:#193f33}.species-text-preview em{font-style:italic}

.sex-image-editor .photo-editor>button[data-remove-photo]{display:none}.photo-preview .photo-remove-x{position:absolute;top:6px;right:6px;z-index:3;display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:1px solid #fff;border-radius:50%;background:#b42318;color:#fff;font:700 21px/1 Arial,sans-serif;box-shadow:0 1px 4px #0007;cursor:pointer}.photo-preview .photo-remove-x:hover{background:#8f1b13}.photo-preview .photo-remove-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.point-mode-options{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 16px}.point-mode-button[aria-pressed="true"]{border-color:var(--green);background:#e9efe8;color:var(--green);font-weight:700}.point-mode-panel{padding:14px;margin:10px 0 16px;border:1px solid var(--line);border-radius:8px}.point-mode-panel[hidden],[data-point-mode][hidden],[data-add-point][hidden]{display:none!important}.point-mode-panel>button[data-add-point]{margin-top:8px}
