:root{--font-ui:Arial,Helvetica,sans-serif;font-family:var(--font-ui);font-variant-numeric:lining-nums;color:#17322e;background:#f9f7f1;font-size:15px;--green:#17352f;--gold:#9c793b;--line:#d8cfbd}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:white;color:var(--green);padding:10px 15px;font-weight:600}button:hover{background:#f2ead9}button.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.5;cursor:default}input,select,textarea{padding:11px 12px;border:1px solid #d5cab5;border-radius:7px;background:#fff;color:#17322e;max-width:100%;width:100%}textarea{min-height:190px;line-height:1.6}label{display:block;font-size:calc(13px + var(--ui-font-step, 1pt));font-weight:600;margin-bottom:7px}a{color:#216548}h1,h2,h3,p{margin-top:0}h1{font-family:var(--font-ui);font-weight:600;font-size:calc(38px + var(--ui-font-step, 1pt));letter-spacing:-1px;margin-bottom:12px}h2{font-size:calc(20px + var(--ui-font-step, 1pt))}h3{font-size:calc(15px + var(--ui-font-step, 1pt))}p{line-height:1.6}.muted,small{color:#61716b}.eyebrow{font-size:calc(11px + var(--ui-font-step, 1pt));letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:14px}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:var(--green);color:#fff;padding:34px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{padding:0 12px 35px;font-family:var(--font-ui);font-size:calc(24px + var(--ui-font-step, 1pt));line-height:1.2}.brand small{font-family:var(--font-ui);font-size:calc(10px + var(--ui-font-step, 1pt));color:#d6c59d;letter-spacing:3px;display:block;margin-top:10px}.nav{display:grid;gap:8px}.nav button{background:transparent;color:#c7d6ce;border:0;text-align:left;font-weight:500}.nav button.active,.nav button:hover{background:#264a40;color:white}.side-bottom{margin-top:auto;font-size:calc(12px + var(--ui-font-step, 1pt));color:#b5cbbd;line-height:1.7;padding:20px 12px 0}.side-bottom strong{color:#fff;font-weight:500}.workspace{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 38px;border-bottom:1px solid var(--line);background:#fffdf8}.top-actions{display:flex;gap:10px;align-items:center}.chip{display:inline-block;background:#e8eee7;color:#3c624e;border-radius:30px;font-size:calc(11px + var(--ui-font-step, 1pt));padding:6px 10px;white-space:nowrap}.chip.amber{background:#f3ead8;color:#816027}.page{padding:36px 38px;max-width:1460px;margin:auto}.intro{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:26px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.card .number{display:block;font-family:var(--font-ui);font-variant-numeric:lining-nums tabular-nums;font-size:calc(36px + var(--ui-font-step, 1pt));margin:8px 0}.card p{margin:0;font-size:calc(12px + var(--ui-font-step, 1pt));color:#61716b}.panel{margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.panel-title h2{margin:0}.toolbar{display:flex;gap:10px;margin:0 0 20px}.toolbar input{max-width:540px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:calc(14px + var(--ui-font-step, 1pt))}th{color:#788378;text-transform:uppercase;font-size:calc(10px + var(--ui-font-step, 1pt));letter-spacing:1px;font-weight:600;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #ebe5d8;vertical-align:middle}td button.link{padding:0;background:transparent;border:0;text-align:left}td strong{display:block;font-weight:600;margin-bottom:3px}.pager{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:calc(12px + var(--ui-font-step, 1pt));color:#657267}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-value{padding:9px 0 16px;border-bottom:1px solid #ebe5d8;min-height:44px}.full{grid-column:1/-1}.note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:calc(14px + var(--ui-font-step, 1pt));max-height:550px;overflow:auto}.actions{display:flex;gap:10px;margin-top:20px}.parent{padding:16px;background:#f8f4eb;border-radius:8px;margin-bottom:12px}.parent small{display:block;margin-bottom:8px}.parent button{border:0;background:none;padding:0;text-align:left}.alert{border-left:3px solid var(--gold);padding:12px 16px;background:#fbf6e9;font-size:calc(13px + var(--ui-font-step, 1pt));line-height:1.6;margin:16px 0}.criteria{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.auth{max-width:470px;margin:8vh auto;padding:36px;background:#fff;border:1px solid var(--line);border-radius:14px}.auth .brand{color:var(--green);padding:0 0 30px}.auth .brand small{color:var(--gold)}.auth input{margin-bottom:20px}.auth button{width:100%}.auth p{font-size:calc(14px + var(--ui-font-step, 1pt))}.auth h1{font-size:calc(30px + var(--ui-font-step, 1pt))}#notice{position:fixed;bottom:24px;right:24px;z-index:10;max-width:420px;background:#17352f;color:white;padding:16px 22px;border-radius:10px;box-shadow:0 8px 30px #0002;display:none}#notice.show{display:block}.source{font-family:monospace;font-size:calc(11px + var(--ui-font-step, 1pt));word-break:break-all}.modules{display:flex;gap:12px;flex-wrap:wrap}.module{border:1px dashed #bdc8be;padding:15px 22px;border-radius:9px;color:#61716b}.empty{padding:30px;text-align:center;color:#61716b}details{margin:12px 0}summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(12px + var(--ui-font-step, 1pt));max-height:400px;overflow:auto}.readonly{font-size:calc(12px + var(--ui-font-step, 1pt));color:#61716b}.badge-line{display:flex;gap:8px;margin:8px 0 20px}.inspection{padding:16px 0;border-bottom:1px solid var(--line)}.inspection dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;font-size:calc(13px + var(--ui-font-step, 1pt))}.inspection dt{color:#61716b}.inspection dd{margin:0}button:focus-visible,a:focus-visible{outline:3px solid #d9b66b;outline-offset:3px}@media(max-width:980px){.layout{grid-template-columns:180px 1fr}.page{padding:25px 22px}.topbar{padding:15px 22px}.grid{grid-template-columns:1fr}.criteria{grid-template-columns:1fr 1fr}.cards{gap:10px}.card{padding:18px}}@media(max-width:640px){.layout{display:block}.sidebar{position:static;height:auto;padding:20px}.brand{padding-bottom:16px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap}.side-bottom{display:none}.topbar{flex-wrap:wrap}.top-actions{flex-wrap:wrap}.page{padding:24px 16px}.cards{grid-template-columns:1fr}.card .number{font-size:calc(28px + var(--ui-font-step, 1pt))}.fields,.criteria{grid-template-columns:1fr}.intro{display:block}h1{font-size:calc(32px + var(--ui-font-step, 1pt))}.auth{margin:24px 16px}.panel{padding:18px}}

.mt22{margin-top:22px}.mt24{margin-top:24px}#back{margin-bottom:25px}.readonly{margin-top:20px}

/* Team Baetens Signature: website palette and Content Studio surfaces. */
:root{--deep:#112d2a;--signature-gold:#d9b66b;--paper:#f9f7f1}
.sidebar{background:var(--deep);border-right:1px solid #25453d;padding-top:24px}
.brand{display:flex;flex-direction:column;align-items:center;padding:0 0 26px;margin-bottom:20px;border-bottom:1px solid #d9b66b45}
.brand-logo{display:block;width:164px;height:auto;object-fit:contain}
.brand small{color:var(--signature-gold);font-family:var(--font-ui);font-size:calc(10px + var(--ui-font-step, 1pt));letter-spacing:.23em;margin-top:15px}
.nav button{border-radius:12px;border:1px solid transparent}
.nav button.active{border-color:#d9b66b55;box-shadow:inset 3px 0 var(--signature-gold)}
.side-bottom{border-top:1px solid #d9b66b35;margin-top:auto}
.topbar{border-bottom:1px solid var(--line)}
.card,.panel{background:#fffdf8;border-radius:22px;box-shadow:0 12px 36px #45361b08}
.card{border-top:3px solid var(--signature-gold)}
button.primary{background:#dfbd70;color:#17352f;border-color:#dfbd70}
button.primary:hover{background:#e8c984;border-color:#e8c984}
input:focus,select:focus,textarea:focus{outline:2px solid #dabc7866;outline-offset:1px;border-color:#a47d37}
.eyebrow{color:#98752f;letter-spacing:.2em}
.auth{max-width:480px;background:#fffdf8;border-radius:28px;border-top:4px solid var(--signature-gold);box-shadow:0 18px 60px #45361b12;margin:5vh auto}
.auth .brand{padding:0 0 22px;margin-bottom:24px;border-bottom-color:var(--line)}
.auth .brand-logo{width:155px}
.auth .brand small{color:#98752f}
.auth h1{color:var(--deep)}
@media(max-width:980px){.sidebar .brand-logo{width:135px}}
@media(max-width:640px){.sidebar .brand{flex-direction:row;justify-content:space-between;padding-bottom:14px;margin-bottom:12px}.sidebar .brand-logo{width:76px}.sidebar .brand small{margin:0}.auth{margin:24px 16px}.card,.panel{border-radius:18px}}

.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(pointer:coarse){.icon-button{width:44px;height:44px}}

.toolbar{flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto;max-width:200px}.toolbar button{flex-shrink:0}
.dna-proof{margin:8px 0;color:var(--green,#17352f);font-size:calc(.85rem + var(--ui-font-step, 1pt));font-weight:600}
.pigeon-photos{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:center}.pigeon-photos figure{margin:0;text-align:center}.pigeon-photos img{display:block;width:100%;height:300px;object-fit:contain}.pigeon-photos figcaption{font-size:calc(.85rem + var(--ui-font-step, 1pt));color:#637570}.gene-package{font-size:calc(1.1rem + var(--ui-font-step, 1pt));line-height:1.8;overflow-wrap:anywhere}.gene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gene-grid div{display:grid;gap:5px;background:#f4f3ed;padding:12px;border-radius:8px}.gene-grid span,.gene-grid small{font-size:calc(.8rem + var(--ui-font-step, 1pt))}.gene-grid strong{font-size:calc(1.15rem + var(--ui-font-step, 1pt))}.results-scroll{max-height:430px;overflow:auto}.results-scroll th{position:sticky;top:0;background:#f5f2e9}.pas-drop{border:2px dashed #9eafaa;border-radius:12px;padding:22px;display:grid;gap:12px;margin-bottom:18px}.pas-drop input{max-width:100%}@media(max-width:650px){.pigeon-photos img{height:210px}.gene-grid{grid-template-columns:repeat(2,1fr)}}
.grid>div{min-width:0}@media(min-width:901px){.grid{grid-template-columns:minmax(0,1.65fr) minmax(240px,1fr)}}
.dna-compact{padding:20px}.dna-compact h2{font-size:calc(1.05rem + var(--ui-font-step, 1pt))}.dna-compact details{margin-top:14px;font-size:calc(.8rem + var(--ui-font-step, 1pt))}.gene-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}.gene-mini span{display:grid;gap:3px}.gene-mini small{font-size:calc(.65rem + var(--ui-font-step, 1pt));color:#61736c}.gene-mini strong{font-size:calc(.88rem + var(--ui-font-step, 1pt))}.result-panel summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer}.result-panel summary:before{content:'▸'}.result-panel details[open]>summary:before{content:'▾'}.result-panel summary strong{font-size:calc(1.1rem + var(--ui-font-step, 1pt))}.result-panel summary span{margin-left:auto;font-size:calc(.85rem + var(--ui-font-step, 1pt));color:#587168}.publish-check{width:20px!important;height:20px;accent-color:#17352f;cursor:pointer}.publish-check:disabled{cursor:default}.results-scroll{max-height:none;overflow-x:auto}.result-panel td{vertical-align:middle}

.title-fields h3{margin-bottom:8px}.title-help{font-size:calc(12px + var(--ui-font-step, 1pt));margin-bottom:18px}.title-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;margin-bottom:18px}.title-line>div{min-width:0}.title-value{line-height:1.55;overflow-wrap:anywhere;padding:10px 0;min-height:44px}.title-publish{display:flex;align-items:center;gap:7px;margin:0;padding:12px 0;font-size:calc(12px + var(--ui-font-step, 1pt));white-space:nowrap}.title-publish input{width:19px;height:19px;accent-color:#17352f}.title-source{font-size:calc(12px + var(--ui-font-step, 1pt))}.title-source p{margin-top:12px}@media(max-width:500px){.title-line{grid-template-columns:minmax(0,1fr)}.title-publish{padding:0}.title-line{gap:6px}}

/* Title order controls are available only while editing. */
.title-line-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.title-line-heading label{margin:0}.title-order{display:flex;gap:5px}.title-order button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;font-size:calc(18px + var(--ui-font-step, 1pt));line-height:1}.title-order button:disabled{opacity:.3}.title-order button:disabled:hover{background:white}@media(pointer:coarse){.title-order button{width:44px;height:44px}}
/* Compact identity for offspring, including unnamed young birds. */
.offspring-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.offspring-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;padding:12px 14px}.offspring-identity{display:grid;gap:4px;min-width:0}.offspring-name{font-size:calc(1rem + var(--ui-font-step, 1pt));overflow-wrap:anywhere}.offspring-ring{font-size:calc(.85rem + var(--ui-font-step, 1pt));font-weight:400;overflow-wrap:anywhere}.offspring-markers{display:flex;align-items:center;gap:10px}.sex-symbol{display:inline-block;white-space:nowrap;font-size:calc(1.1em - .1pt);line-height:1.2}

/* File totals remain independent of the search/filter below. */
.flock-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.flock-summary .card{display:flex;flex-direction:column;min-width:0;padding:18px;text-align:left;font-weight:400}
.summary-label{font-size:calc(14px + var(--ui-font-step, 1pt));line-height:1.4;font-weight:600}
.flock-summary .number{font-variant-numeric:lining-nums tabular-nums;margin:8px 0;font-weight:600}
.summary-help{font-size:calc(12px + var(--ui-font-step, 1pt));line-height:1.5;color:#61716b;margin-top:auto}
.summary-issues{border-top-color:#9c793b}
.summary-issues:hover{background:#f3ead8}
.season-period{font-size:calc(13px + var(--ui-font-step, 1pt));margin-top:-12px;margin-bottom:18px}.badge-line{flex-wrap:wrap}
@media(max-width:1100px){.flock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.flock-summary .card{padding:14px}.summary-label{font-size:calc(13px + var(--ui-font-step, 1pt))}}

/* Keep provenance collapsed by default and last at the bottom of the fiche sidebar. */
.detail-sidebar{display:flex;flex-direction:column}
.detail-sidebar>.panel{flex-shrink:0}
.housing-panel{padding:22px;container-type:inline-size}.housing-panel .panel-title{gap:12px;flex-wrap:wrap;margin-bottom:14px}.housing-panel h2{font-size:calc(1.15rem + var(--ui-font-step, 1pt));margin:0}.housing-panel .panel-title>small{font-size:calc(.75rem + var(--ui-font-step, 1pt))}
.housing-location{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:calc(.9rem + var(--ui-font-step, 1pt))}.housing-location small{font-size:calc(.7rem + var(--ui-font-step, 1pt));font-weight:400}
.pairing-list{list-style:none;margin:0;padding:0}.pairing-list li{display:grid;grid-template-columns:16px minmax(0,1fr) 33px 60px auto;align-items:center;gap:7px;padding:8px 0;border-top:1px solid var(--line)}
.pairing-partner-cycle,.pairing-egg{display:grid;justify-items:center;gap:4px;font-size:calc(.72rem + var(--ui-font-step, 1pt));white-space:nowrap;font-variant-numeric:tabular-nums}.pairing-partner-cycle small,.pairing-egg small{font-size:calc(.6rem + var(--ui-font-step, 1pt))}.pairing-partner-cycle>span{font-weight:600}.pairing-egg time{font-size:calc(.65rem + var(--ui-font-step, 1pt))}.pairing-location{font-weight:600}.pairing-order-note{display:block;font-size:calc(.65rem + var(--ui-font-step, 1pt));margin:8px 0;color:#61716b}.pairing-cycle{font-size:calc(.8rem + var(--ui-font-step, 1pt));color:#61716b;font-variant-numeric:tabular-nums}.pairing-partner{display:block;text-align:left;padding:0;border:0;border-radius:3px;background:none;min-width:0;font-size:calc(.88rem + var(--ui-font-step, 1pt));font-weight:400;line-height:1.3;overflow-wrap:anywhere}.pairing-partner small{display:block;font-size:calc(.7rem + var(--ui-font-step, 1pt));margin-top:3px;font-weight:400;color:#61716b}.pairing-partner .sex-symbol{font-size:calc(1rem + var(--ui-font-step, 1pt))}.pairing-state{font-size:calc(.66rem + var(--ui-font-step, 1pt));white-space:nowrap;color:#355c50;background:#e7eee8;padding:4px 6px;border-radius:5px}.pairing-state.planned{color:#876729;background:#f3ead8}.housing-source{display:block;border-top:1px solid var(--line);padding-top:10px;margin-top:6px;font-size:calc(.65rem + var(--ui-font-step, 1pt));color:#61716b}
@media(min-width:901px){.grid:has(.housing-panel){grid-template-columns:minmax(0,1.65fr) minmax(350px,1fr)}}
@container(max-width:300px){.pairing-list li{grid-template-columns:16px minmax(0,1fr) 33px 60px;row-gap:5px}.pairing-list .pairing-state{grid-column:2;justify-self:start}}
.provenance-panel{margin:0 0 20px;margin-top:auto}
.provenance-panel>summary{font-size:calc(20px + var(--ui-font-step, 1pt));font-weight:600}
.provenance-panel>summary:focus-visible{outline:3px solid #d9b66b;outline-offset:3px;border-radius:4px}
.provenance-content{padding-top:20px;overflow-wrap:anywhere}
.provenance-content>p:last-child{margin-bottom:0}

/* Resultaatniveau — dezelfde keuze voor eigen en afgeleide uitslagen. */
.result-level{min-width:9.5rem;padding:8px 10px;font-size:calc(.9rem + var(--ui-font-step, 1pt))}.result-level:disabled{opacity:.65}
/* Persoonlijke publicatieselectie — 8 oktober 2026. */
.select-button{min-width:56px;padding:9px 10px;font-size:calc(12px + var(--ui-font-step, 1pt));letter-spacing:.04em}.select-button.selected{background:#17352f;color:#fff;border-color:#17352f}.selection-toolbar,.publication-actions,.fiche-actions,.fiche-actions>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.selection-toolbar{margin:0 0 20px}.fiche-actions{justify-content:space-between;margin-bottom:24px}.selection-count{font-size:calc(22px + var(--ui-font-step, 1pt));color:#98752f;vertical-align:middle}.selection-row-actions{display:flex;gap:9px}.publication-actions{margin-bottom:16px}#selection-clear{display:inline-flex;align-items:center;gap:8px}.publication-dialog{border:1px solid var(--line);border-radius:20px;background:#fffdf8;color:var(--green);max-width:590px;width:calc(100% - 32px);padding:28px;box-shadow:0 15px 70px #17352f44;font-family:var(--font-ui)}.publication-dialog::backdrop{background:#122e2977}.publication-dialog fieldset{border:1px solid var(--line);border-radius:10px;margin:18px 0;padding:16px}.publication-dialog legend{font-weight:600;padding:0 6px}.language-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.language-choices label,.format-choices label{display:flex;align-items:center;gap:9px;font-size:calc(14px + var(--ui-font-step, 1pt));margin:0}.language-choices input,.format-choices input{width:18px;height:18px;accent-color:#17352f}.format-choices{display:flex;flex-wrap:wrap;gap:20px}.publication-dialog .publication-actions{justify-content:flex-end;margin-bottom:0}.form-error{color:#9a4031}.form-error:empty{display:none}.publication-filters{display:flex;gap:10px;margin:0 0 16px}.publication-filters input{flex:1;min-width:0}.publication-filters select{width:auto;max-width:42%}.publication-files{border-top:1px solid var(--line)}.publication-file{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.publication-file-info{flex:1;min-width:0}.publication-file-info a{font-weight:600;text-decoration:none;overflow-wrap:anywhere;line-height:1.4}.publication-file-info a:hover{text-decoration:underline}.publication-file-info small{display:block;margin-top:4px;font-size:calc(12px + var(--ui-font-step, 1pt))}.file-delete{flex-shrink:0}.file-delete:hover{color:#9a4031;border-color:#9a4031;background:#f9efeb}.publication-progress{padding:12px 0;border-top:1px solid var(--line)}.publication-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.publication-progress-header>div{min-width:0}.publication-progress small{display:block;margin:6px 0}.publication-progress progress{width:100%;height:8px;accent-color:#17352f}.publication-progress .chip{margin-left:6px}.publication-empty{margin:18px 0 0}.job-errors{color:#8a5033}.job-errors li{overflow-wrap:anywhere}.publication-queue h2{margin:0} @media(max-width:650px){.language-choices{grid-template-columns:1fr}.fiche-actions{align-items:flex-start}.selection-row-actions{min-width:100px}}

/* Secondary tools stay together at the bottom of the menu — Ivan, 9 October 2026. */
.sidebar{overflow-y:auto}.nav{display:flex;flex-direction:column;flex:1}.nav-main{display:grid;gap:8px}.sidebar .side-bottom{margin-top:18px;flex-shrink:0}
.nav-settings{margin:auto 0 0;padding-top:20px}.nav-settings>summary{display:flex;align-items:center;gap:9px;padding:10px 15px;list-style:none;font-size:calc(1rem + var(--ui-font-step, 1pt));font-weight:500;color:#c7d6ce;border:1px solid transparent;border-radius:12px;cursor:pointer}.nav-settings>summary::-webkit-details-marker{display:none}.nav-settings>summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:auto;flex-shrink:0}.nav-settings[open]>summary::after{transform:rotate(225deg)}.nav-settings>summary>span{font-size:calc(19px + var(--ui-font-step, 1pt));line-height:1}.nav-settings>summary:hover,.nav-settings>summary.active{background:#264a40;color:white}.nav-settings>summary.active{border-color:#d9b66b55}.nav-settings>summary:focus-visible{outline:3px solid #d9b66b;outline-offset:3px}
.nav-submenu{display:grid;gap:4px;margin:8px 0 0 14px;padding-left:7px;border-left:1px solid #d9b66b45}.nav-submenu button{font-size:calc(.9rem + var(--ui-font-step, 1pt));padding:10px 8px}
.nav-main{gap:20px}.nav button.nav-module{width:100%;padding:13px 12px;font-weight:700;color:#f8f5ec;background:#ffffff08;border:1px solid #d9b66b55;border-radius:10px}.nav button.nav-module:hover,.nav-module-group.current-module>.nav-module{background:#264a40;border-color:#d9b66b88}.nav button.nav-module.active{background:#d9b66b;color:#112d2a;border-color:#d9b66b;box-shadow:none}
.nav-module-pages{display:grid;gap:3px;margin:9px 0 0 13px;padding-left:7px;border-left:1px solid #d9b66b45}.nav-module-pages button{font-size:calc(.88rem + var(--ui-font-step, 1pt));padding:9px 7px;border-radius:7px}.nav-module-pages button.active{box-shadow:none}
@media(max-width:640px){.nav{flex:none;overflow:visible}.nav-main{display:flex;overflow-x:auto;gap:8px}.nav-main button{flex-shrink:0}.nav-settings{margin:0;padding-top:12px}.nav-settings>summary{width:100%}.nav-submenu{margin-left:14px}.nav-submenu button{white-space:normal}.sidebar{overflow:visible}}

/* Planner keeps its own visual system inside the shared navigation shell. */
.topbar.planner-shell-tools{display:none}
.page.planner-page{max-width:none;padding:0;margin:0;width:100%}
#planner-frame{display:block;width:100%;height:100dvh;min-height:600px;border:0;background:#f4f6f2}
@media(max-width:800px){#planner-frame{height:80dvh;min-height:650px}}
@media(max-width:640px){.nav-main{align-items:flex-start;gap:14px}.nav-module-group{flex-shrink:0}.nav button.nav-module{width:auto;min-width:155px}.nav-module-group>.nav-module{width:100%}.nav-module-pages button{white-space:normal}}

.general-settings{max-width:850px}.general-settings fieldset{border:0;padding:0;margin:0;min-width:0}.general-settings h3{margin:26px 0 12px;font-size:calc(1rem + var(--ui-font-step, 1pt))}.season-date-fields,.pairing-date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pairing-date-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.general-settings label{display:grid;gap:8px;margin:0;font-size:calc(.88rem + var(--ui-font-step, 1pt))}.general-settings input{width:100%;min-width:0;margin:0}.general-settings input:disabled{opacity:1;color:var(--ink);background:#f7f5ee}.general-settings button[type=submit]{margin-top:24px}.settings-note{margin:20px 0 0;font-size:calc(.85rem + var(--ui-font-step, 1pt))}@media(max-width:600px){.pairing-date-fields,.season-date-fields{grid-template-columns:1fr;gap:14px}}

.general-settings .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.general-settings .section-head h2{margin:0}

/* Tablet navigation: keep the planner mounted while opening the dropdown. */
.compact-header,.nav-backdrop{display:none}.menu-close-icon{display:none}
@media(max-width:1100px),(any-pointer:coarse){
 :root{--compact-header-height:58px}
 .layout{display:block;padding-top:var(--compact-header-height)}
 .compact-header{display:flex;position:fixed;z-index:32;top:0;left:0;right:0;height:var(--compact-header-height);align-items:center;gap:14px;padding:5px 16px;background:var(--deep);color:#f9f7f1;border-bottom:1px solid #d9b66b66}
 #nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:94px;min-height:44px;padding:8px 12px;background:#ffffff08;color:#f9f7f1;border:1px solid #d9b66b66}
 #nav-toggle:hover{background:#264a40}.compact-page-label{font-size:calc(.94rem + var(--ui-font-step, 1pt));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-header img{object-fit:contain;margin-left:auto;flex-shrink:0}
 .sidebar{display:none;position:fixed;z-index:31;left:0;right:0;top:var(--compact-header-height);height:auto;max-height:calc(100dvh - var(--compact-header-height));padding:18px 20px;overflow-y:auto;overscroll-behavior:contain;border:0;border-bottom:1px solid #d9b66b66;box-shadow:0 12px 25px #0002}
 .sidebar .brand,.sidebar .side-bottom{display:none}
 .nav{display:flex;flex-direction:column;gap:0;overflow:visible}.nav-main{display:grid;gap:18px;overflow:visible;align-items:stretch}.nav button.nav-module{width:100%;min-height:46px;min-width:0}.nav button{white-space:normal}.nav-module-pages{display:grid;margin-top:6px}.nav-module-pages button{min-height:44px}
 .nav-settings{margin:18px 0 0;padding-top:12px;border-top:1px solid #d9b66b35}.nav-settings>summary{min-height:44px}.nav-submenu button{min-height:44px}
 .nav-open .sidebar{display:flex}.nav-open .nav-backdrop{display:block;position:fixed;z-index:30;inset:var(--compact-header-height) 0 0;background:#112d2a44}
 .nav-open .menu-open-icon{display:none}.nav-open .menu-close-icon{display:block}
 #notice{z-index:40}
 .workspace{width:100%}.page.planner-page{width:100%;padding:0}#planner-frame{height:calc(100dvh - var(--compact-header-height));min-height:420px}
 .topbar{flex-wrap:wrap}.top-actions{flex-wrap:wrap}.top-actions .readonly{margin-top:0}
}

/* Inline issue decisions: explicit save, touch-sized choices, no horizontal table scrolling. */
.issues-intro{margin-bottom:10px}.issues-hint{font-size:calc(.88rem + var(--ui-font-step, 1pt));margin-bottom:22px}.issues-table .issue-identity{width:32%;overflow-wrap:anywhere}.issue-identity small{display:block;margin-top:4px}.issue-open{width:60px;text-align:right}.issue-choice-line{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.issue-choice-group{display:flex;align-items:center;gap:10px}.issue-choice-group>span{font-size:calc(.82rem + var(--ui-font-step, 1pt));white-space:nowrap}.issue-options{display:flex;gap:4px}.issue-options button{min-height:44px;padding:9px 12px;font-size:calc(.85rem + var(--ui-font-step, 1pt));font-weight:500}.issue-options button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.issue-options button:disabled{opacity:.55}.issue-sex button{min-width:44px;font-size:calc(21px + var(--ui-font-step, 1pt));padding:6px 10px}.issue-save{min-width:44px;min-height:44px;margin-left:auto}.issue-present{font-size:calc(.75rem + var(--ui-font-step, 1pt));color:#61716b}.issue-error{font-size:calc(.8rem + var(--ui-font-step, 1pt));margin:8px 0 0}.issues-panel td{padding-top:14px;padding-bottom:14px}
@media(max-width:1250px){.issue-choice-group{flex-direction:column;align-items:flex-start;gap:5px}.issues-table .issue-identity{width:30%}}
@media(max-width:600px){.issues-panel{padding:14px}.issues-table thead{display:none}.issues-table tbody{display:block}.issues-table tr{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;border-bottom:1px solid var(--line);padding:14px 0}.issues-panel .issues-table td{border:0;padding:0;width:auto}.issue-identity{grid-column:1;grid-row:1}.issue-open{grid-column:2;grid-row:1}.issue-decisions{grid-column:1/-1;grid-row:2}.issue-choice-line{gap:10px}.issue-choice-group{gap:4px}.issue-options button{padding:9px 11px}.issue-save{align-self:flex-end}}

/* New pigeon: compact identity and searchable parent links. */
#search .add-pigeon{flex:0 0 44px;min-height:44px;align-self:stretch}.new-pigeon-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.new-pigeon-heading h1{margin:0}.new-pigeon-heading .eyebrow{margin-bottom:8px}.new-pigeon-fields{border:0;margin:0;padding:0;min-width:0}.new-pigeon-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:20px;align-items:start}.new-pigeon-grid .panel{margin:0}.new-ring-fields{display:grid;grid-template-columns:65px 100px minmax(110px,1fr) 80px;gap:12px}.new-pigeon-form label{margin:0;line-height:1.4}.new-pigeon-form label input,.new-pigeon-form label select{margin-top:6px}.new-identity-fields{gap:14px;margin-top:16px}.new-age-hint{font-size:calc(.76rem + var(--ui-font-step, 1pt));align-self:end;margin:0;line-height:1.5}.new-extra{border-top:1px solid var(--line);padding-top:16px;margin:20px 0 0}.new-extra>summary{font-size:calc(.9rem + var(--ui-font-step, 1pt))}.new-extra .title-fields{margin-top:18px}.new-extra .notes-field{margin-top:20px}.new-extra textarea{min-height:115px}.new-pigeon-actions{display:flex;gap:10px;margin-top:18px}.new-pigeon-form>.new-pigeon-fields>.form-error{margin:14px 0 0}.parent-picker{position:relative;margin-top:20px}.parent-search{position:relative}.parent-search input{padding-right:40px;min-height:44px;font-size:calc(.88rem + var(--ui-font-step, 1pt))}.parent-search input::-webkit-search-cancel-button{display:none}.parent-clear{position:absolute;right:2px;top:2px;width:40px;height:40px;padding:0;border:0;background:transparent;font-size:calc(23px + var(--ui-font-step, 1pt))}.parent-clear[hidden],.parent-popup[hidden]{display:none}.parent-popup{position:absolute;z-index:8;top:100%;left:0;right:0;background:#fffdf8;border:1px solid #c6b792;border-radius:9px;box-shadow:0 10px 28px #17352f24;margin-top:5px;padding:5px;max-height:330px;overflow:auto}.parent-popup [role=option]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:6px;cursor:pointer;min-height:44px}.parent-popup [role=option]:hover,.parent-popup [aria-selected=true]{background:#eee4cb}.parent-popup strong{font-size:calc(.9rem + var(--ui-font-step, 1pt));display:block;margin-bottom:3px}.parent-popup small{display:block;font-size:calc(.78rem + var(--ui-font-step, 1pt))}.parent-search-state{font-size:calc(.75rem + var(--ui-font-step, 1pt));color:#61716b;margin:8px;line-height:1.4}.new-parent-help{font-size:calc(.78rem + var(--ui-font-step, 1pt));line-height:1.6;margin:20px 0 0}.new-parent-panel{overflow:visible}.new-parent-panel .sex-symbol{font-size:calc(20px + var(--ui-font-step, 1pt))}
@media(max-width:1250px){.new-pigeon-grid{grid-template-columns:minmax(0,1.3fr) minmax(265px,1fr)}.new-ring-fields{grid-template-columns:60px 86px minmax(90px,1fr)}.new-ring-fields>label:last-child{grid-column:1/-1;max-width:100px}}
@media(max-width:800px){.new-pigeon-grid{grid-template-columns:1fr}.new-ring-fields{grid-template-columns:65px 100px minmax(90px,1fr) 80px}.new-ring-fields>label:last-child{grid-column:auto}.new-parent-panel{margin-bottom:0}.parent-popup{max-height:260px}}
@media(max-width:500px){.new-ring-fields{grid-template-columns:70px minmax(0,1fr)}.new-identity-fields{grid-template-columns:1fr 1fr}.new-pigeon-grid .panel{padding:18px}.new-pigeon-heading .chip{display:none}.new-pigeon-actions button{flex:1}.new-ring-fields>label:last-child{max-width:none}}


/* Two compact colour choices; catalogue variants are grouped by main colour. */
.color-picker{grid-column:1/-1;min-width:0}.color-picker-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}.color-picker label{display:block;margin:0}.color-picker select{margin-top:6px;min-height:44px}.color-picker select:disabled{color:#61716b;background:#f5f2e9;opacity:1}.color-legacy{display:block;font-size:calc(.76rem + var(--ui-font-step, 1pt));margin-top:6px;color:#61716b}.color-legacy[hidden]{display:none}.new-identity-fields .new-age-hint{grid-column:1/-1}
@media(max-width:400px){.color-picker-controls{grid-template-columns:1fr;gap:10px}}

/* Approved compact workspace — Ivan, 9 October 2026.
   The planner iframe retains its own stylesheet. Photos keep a warm, quiet canvas. */
:root{font-size:13px;--green:#345c49;--deep:#17352e;--line:#dce2d8;--paper:#f1f4ee;color:#253d33;background:var(--paper)}
button{padding:7px 11px;border-radius:5px;min-height:32px;font-weight:600}
button:hover{background:#eef2e9}
button.primary{background:#345c49;border-color:#345c49;color:#fff}
button.primary:hover{background:#294d3c;border-color:#294d3c}
input,select,textarea{padding:8px 10px;border-color:#cfd8cc;border-radius:5px;color:#253d33}
input:focus,select:focus,textarea:focus{outline:2px solid #a8baa766;border-color:#78937d}
label{font-size:calc(12px + var(--ui-font-step, 1pt));margin-bottom:5px}
h1{font-size:calc(23px + var(--ui-font-step, 1pt));letter-spacing:0;font-weight:700;margin-bottom:6px}
h2{font-size:calc(15px + var(--ui-font-step, 1pt));margin-bottom:14px}h3{font-size:calc(13px + var(--ui-font-step, 1pt))}p{line-height:1.5}
.muted,small{color:#637168}.eyebrow{font-size:calc(10px + var(--ui-font-step, 1pt));margin-bottom:7px;letter-spacing:.08em}
.layout{grid-template-columns:180px minmax(0,1fr)}
.sidebar{padding:18px 12px;border-right:0}
.sidebar .brand{padding-bottom:18px;margin-bottom:18px}
.sidebar .brand-logo{width:128px}.sidebar .brand small{font-size:calc(9px + var(--ui-font-step, 1pt));letter-spacing:.18em;margin-top:9px}
.nav-main{gap:13px}.nav button.nav-module{display:flex;align-items:center;gap:7px;padding:10px 10px;min-height:38px;border-radius:5px;font-size:calc(13px + var(--ui-font-step, 1pt));line-height:1.25}
.nav-module-icon{flex:0 0 19px;width:19px;height:19px}.nav button.nav-module>span{min-width:0}
.nav button.nav-module.active{background:#dce6d5;color:#17352e;border-color:#dce6d5}
.nav-module-pages{margin:5px 0 0 9px;padding-left:6px;gap:2px}
.nav-module-pages button,.nav-submenu button{font-size:calc(12px + var(--ui-font-step, 1pt));padding:7px 6px;border-radius:4px}
.nav-settings>summary{padding:8px;font-size:calc(12px + var(--ui-font-step, 1pt));border-radius:5px}
.sidebar .side-bottom{padding:12px 5px 0;margin-top:12px;font-size:calc(10px + var(--ui-font-step, 1pt))}
.topbar{padding:9px 22px;min-height:51px;background:#fff;gap:8px}
.shell-location{color:#637168;font-size:calc(11px + var(--ui-font-step, 1pt))}.shell-location>span{padding:0 6px;color:#9aa497}
.top-actions{gap:7px}.top-actions .readonly{margin:0;font-size:calc(11px + var(--ui-font-step, 1pt))}.top-actions button{font-size:calc(11px + var(--ui-font-step, 1pt))}
.page{max-width:1480px;padding:22px;margin:auto}
.intro{margin-bottom:16px;gap:12px}.intro p{margin-bottom:0}
.card,.panel{background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:none;padding:15px}
.panel{margin-bottom:14px}.panel-title{margin-bottom:13px;gap:10px}.panel-title small{font-size:calc(11px + var(--ui-font-step, 1pt))}
.chip{background:#e9efe5;color:#48634e;border-radius:4px;padding:4px 7px;font-size:calc(10px + var(--ui-font-step, 1pt))}
.chip.amber{background:#f4eddd;color:#8a6b2f}
.toolbar{gap:7px;margin-bottom:12px}.toolbar input{max-width:none}.toolbar select{max-width:185px}
.toolbar input,.toolbar select{font-size:calc(12px + var(--ui-font-step, 1pt));min-height:34px}
#search .add-pigeon{flex-basis:34px;min-height:34px;height:34px}
.selection-toolbar{gap:7px;margin-bottom:12px}.selection-toolbar button{font-size:calc(11px + var(--ui-font-step, 1pt))}
.icon-button{width:32px;height:32px;padding:6px}.select-button{min-width:42px;padding:7px;font-size:calc(10px + var(--ui-font-step, 1pt))}
table{font-size:calc(12px + var(--ui-font-step, 1pt))}th{font-size:calc(9px + var(--ui-font-step, 1pt));letter-spacing:.06em;padding:10px 9px;background:#f7f9f4}
td{padding:9px;border-bottom-color:#e6ebe2}td strong{margin:0}td:last-child{white-space:nowrap}
.birds-panel tbody tr:hover{background:#f7f9f4}.birds-panel td:last-child{width:88px}
.table-wrap{position:relative}
.birds-panel td:nth-child(2){white-space:nowrap}.birds-panel .sex-symbol{font-size:calc(18px + var(--ui-font-step, 1pt))}
.pager{margin-top:13px;font-size:calc(11px + var(--ui-font-step, 1pt))}.pager button{font-size:calc(11px + var(--ui-font-step, 1pt))}
.season-period{font-size:calc(12px + var(--ui-font-step, 1pt));margin:0}
.flock-summary{grid-template-columns:repeat(8,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:18px}
.flock-summary .card{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:13px 12px;position:relative;justify-content:start;box-shadow:none}
.flock-summary .card:last-child{border-right:0}.flock-summary .number{order:-1;font-size:calc(25px + var(--ui-font-step, 1pt));line-height:1.15;margin:0 0 7px;color:#253d33}
.summary-label{font-size:calc(11px + var(--ui-font-step, 1pt));font-weight:500;line-height:1.35}
.summary-help{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.summary-issues .number{color:#977737}.flock-summary .summary-issues:hover{background:#f4eddd}
.summary-issues:focus-visible{outline-offset:-3px}
.fiche-actions{margin:0 0 16px;gap:8px}.fiche-actions>div{gap:7px}.fiche-actions button{font-size:calc(12px + var(--ui-font-step, 1pt))}
.fiche-actions #back{margin:0}.fiche-intro{margin-bottom:15px;align-items:center}
.fiche-intro h1{display:flex;align-items:center;gap:9px;font-size:calc(25px + var(--ui-font-step, 1pt))}.fiche-intro h1 .sex-symbol{font-size:calc(24px + var(--ui-font-step, 1pt));font-weight:400;color:#637168}
.fiche-intro .badge-line{margin:8px 0 0;gap:5px}#bird-revision{font-size:calc(10px + var(--ui-font-step, 1pt))}
.pigeon-media{--photo-height:340px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:26px;padding:18px 28px;min-height:380px;margin-bottom:16px;background:#f4eddd;border:1px solid #e4dcc9;border-radius:7px}
.photo-slot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:var(--photo-height)}
.photo-side img{width:100%;height:var(--photo-height);object-fit:contain}
.photo-eye img{width:calc(var(--photo-height)*.636);max-width:100%;aspect-ratio:1;object-fit:contain;border-radius:50%}
.fiche-grid,.fiche-grid:has(.housing-panel){grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px}
.detail-main,.detail-sidebar{min-width:0}.detail-sidebar>.panel{margin-bottom:14px}
.identity-panel>h2,.ancestry-panel>h2{border-bottom:1px solid var(--line);padding-bottom:11px;margin-bottom:14px}
.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px}.fields>div{min-width:0}
.field-value{min-height:32px;padding:3px 0 8px;border-color:#e6ebe2;font-size:calc(13px + var(--ui-font-step, 1pt));overflow-wrap:anywhere}
.field-value .sex-symbol{font-size:calc(19px + var(--ui-font-step, 1pt))}.fields label{color:#637168;font-size:calc(11px + var(--ui-font-step, 1pt))}
.fields input,.fields select{font-size:calc(13px + var(--ui-font-step, 1pt));min-height:35px}.fields .color-picker-controls{gap:12px}
.title-fields{border-top:1px solid var(--line);padding-top:15px;margin-top:3px}
.title-fields h3{margin-bottom:5px}.title-help{font-size:calc(11px + var(--ui-font-step, 1pt));margin-bottom:10px;line-height:1.4}
.title-line{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;margin-bottom:7px;background:#f7f0df;border:1px solid #e6d8b2;border-radius:5px}
.title-line-heading{margin-bottom:5px;gap:6px}.title-line-heading label{color:#8a6b2f;font-size:calc(10px + var(--ui-font-step, 1pt))}
.title-value{padding:0;min-height:0;font-size:calc(13px + var(--ui-font-step, 1pt));font-weight:600;line-height:1.45;color:#876722}
.title-publish{font-size:calc(10px + var(--ui-font-step, 1pt))!important;color:#8a6b2f!important;padding:0;gap:5px}
.title-publish input{min-height:0;width:16px;height:16px;margin:0;accent-color:#7e783e}
.title-order button{width:28px;height:28px;min-height:28px;font-size:calc(16px + var(--ui-font-step, 1pt))}
[data-editing=false] .title-line-heading{display:none}
.title-source{font-size:calc(10px + var(--ui-font-step, 1pt));margin:10px 0 0}.title-source p{line-height:1.5}
.notes-field{border-top:1px solid var(--line);padding-top:14px}.notes-field>.panel-title{align-items:center;margin-bottom:10px}
.note{font-size:calc(13px + var(--ui-font-step, 1pt));line-height:1.55}.notes-field textarea{min-height:145px}
.alert{font-size:calc(11px + var(--ui-font-step, 1pt));margin:12px 0;padding:9px 11px;border-left-width:2px}.readonly{font-size:calc(11px + var(--ui-font-step, 1pt));margin-top:14px;margin-bottom:0}
.parent{padding:10px 11px;background:#f3f5ef;border:1px solid #e3e8de;border-radius:5px;margin-bottom:9px}
.parent small{font-size:calc(10px + var(--ui-font-step, 1pt));margin-bottom:5px}.parent button{font-size:calc(12px + var(--ui-font-step, 1pt));line-height:1.5;min-height:0;overflow-wrap:anywhere}
.parent strong{font-size:calc(13px + var(--ui-font-step, 1pt))}.dna-proof{font-size:calc(10px + var(--ui-font-step, 1pt));margin:4px 0}
.ancestry-panel>small{display:block;font-size:calc(10px + var(--ui-font-step, 1pt));line-height:1.4;margin:10px 0}
.ancestry-panel>details{border-top:1px solid var(--line);padding-top:11px;margin-bottom:0}
.ancestry-panel .dna-compact{border:0;border-top:1px solid var(--line);border-radius:0;padding:13px 0 0;margin:14px 0 0;background:transparent}
.dna-compact h2{font-size:calc(13px + var(--ui-font-step, 1pt));margin-bottom:10px}.dna-compact p{font-size:calc(12px + var(--ui-font-step, 1pt))}.dna-compact details{font-size:calc(10px + var(--ui-font-step, 1pt));margin-bottom:0}
.gene-mini{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.gene-mini small{font-size:calc(9px + var(--ui-font-step, 1pt))}.gene-mini strong{font-size:calc(11px + var(--ui-font-step, 1pt));overflow-wrap:anywhere}
.offspring-list{gap:6px;margin-top:9px}.offspring-card{padding:8px 10px;gap:8px;border-radius:4px}
.offspring-name{font-size:calc(12px + var(--ui-font-step, 1pt))}.offspring-ring{font-size:calc(10px + var(--ui-font-step, 1pt))}.offspring-identity{gap:3px}.offspring-markers{gap:6px}
.result-panel{padding:13px 15px}.result-panel>details{margin:0}.result-panel summary{gap:7px}
.result-panel summary strong{font-size:calc(13px + var(--ui-font-step, 1pt))}.result-panel summary span{font-size:calc(11px + var(--ui-font-step, 1pt))}
.result-panel details>p{font-size:calc(11px + var(--ui-font-step, 1pt));margin:12px 0}.result-panel td{font-size:calc(11px + var(--ui-font-step, 1pt));padding:8px 7px;white-space:normal}
.result-panel .publish-check{width:16px!important;height:16px}.result-level{min-width:7.4rem;font-size:calc(11px + var(--ui-font-step, 1pt));padding:6px}
.inspection-panel>summary,.pas-panel>summary{display:flex;gap:9px;align-items:center;font-size:calc(13px + var(--ui-font-step, 1pt));list-style:none}
.inspection-panel>summary::-webkit-details-marker,.pas-panel>summary::-webkit-details-marker{display:none}
.inspection-panel>summary::before,.pas-panel>summary::before{content:'▸'}
.inspection-panel[open]>summary::before,.pas-panel[open]>summary::before{content:'▾'}
.inspection-panel summary small,.pas-panel summary small{font-size:calc(11px + var(--ui-font-step, 1pt));font-weight:400;margin-left:auto}
.inspection-content,.pas-content{padding-top:14px}.inspection-content>p:last-child{margin-bottom:0}
.pas-drop{padding:15px;border-width:1px;border-radius:5px;font-size:calc(12px + var(--ui-font-step, 1pt))}.pas-content h3{font-size:calc(12px + var(--ui-font-step, 1pt))}
.housing-panel{padding:15px}.housing-panel h2{font-size:calc(13px + var(--ui-font-step, 1pt))}.housing-panel .panel-title{margin-bottom:11px}
.pairing-partner{font-size:calc(12px + var(--ui-font-step, 1pt));min-height:0}.pairing-partner small{font-size:calc(10px + var(--ui-font-step, 1pt))}.pairing-egg time{font-size:calc(9px + var(--ui-font-step, 1pt))}.pairing-partner-cycle small,.pairing-egg small{font-size:calc(9px + var(--ui-font-step, 1pt))}
.housing-source,.pairing-order-note{font-size:calc(9px + var(--ui-font-step, 1pt));line-height:1.4}.housing-location{font-size:calc(12px + var(--ui-font-step, 1pt))}.pairing-cycle{font-size:calc(11px + var(--ui-font-step, 1pt))}.pairing-state{font-size:calc(9px + var(--ui-font-step, 1pt))}
.detail-sidebar>.provenance-panel{margin-top:auto;margin-bottom:14px}.provenance-panel>summary{font-size:calc(13px + var(--ui-font-step, 1pt))}.provenance-content{padding-top:13px;font-size:calc(11px + var(--ui-font-step, 1pt))}
.publication-dialog{font-size:calc(13px + var(--ui-font-step, 1pt));border-radius:8px;padding:22px}.publication-dialog h2{font-size:calc(18px + var(--ui-font-step, 1pt))}
.new-pigeon-heading{margin-bottom:16px}.new-pigeon-grid{gap:16px}.new-identity-fields{gap:13px}
.auth{font-size:calc(15px + var(--ui-font-step, 1pt))}.auth button{min-height:44px}.auth h1{font-size:calc(27px + var(--ui-font-step, 1pt))}
@media(min-width:1101px) and (max-width:1280px){.flock-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.flock-summary .card:nth-child(-n+4){border-bottom:1px solid var(--line)}.flock-summary .card:nth-child(4){border-right:0}}
@media(max-width:1100px),(any-pointer:coarse){
 .layout{display:block}.sidebar{padding:18px 20px}.page{padding:20px}.topbar{padding:9px 20px}
 .nav-main{gap:14px}.nav button.nav-module{min-height:46px}.nav-module-pages button,.nav-submenu button{min-height:44px}
 .topbar .shell-location{display:none}.topbar{justify-content:flex-end}.top-actions{width:100%;justify-content:flex-end}
}
@media(max-width:900px){.flock-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.flock-summary .card:nth-child(-n+4){border-bottom:1px solid var(--line)}.flock-summary .card:nth-child(4){border-right:0}}
@media(max-width:800px){.pigeon-media{--photo-height:268px;min-height:300px;padding:15px 20px;gap:18px}.fiche-grid,.fiche-grid:has(.housing-panel){grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}.gene-mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.title-line{grid-template-columns:1fr;gap:7px}.title-publish{justify-self:start}}
@media(max-width:650px){
 .page{padding:16px 12px}.topbar{padding:8px 12px}.top-actions{gap:6px}.top-actions .readonly{flex:1;font-size:calc(10px + var(--ui-font-step, 1pt));overflow-wrap:anywhere}.top-actions button{font-size:calc(10px + var(--ui-font-step, 1pt));padding:6px 8px}
 .intro{display:flex}h1,.cal-intro h1{font-size:calc(21px + var(--ui-font-step, 1pt))}.flock-summary .card{padding:11px 9px}.flock-summary .number{font-size:calc(23px + var(--ui-font-step, 1pt))}.summary-label{font-size:calc(10px + var(--ui-font-step, 1pt))}
 .panel{padding:13px}.toolbar input{min-width:100%;flex-basis:100%}.toolbar select{flex:1;min-width:100px}.selection-toolbar button{font-size:calc(10px + var(--ui-font-step, 1pt))}
 .fiche-actions{gap:9px}.fiche-actions button{font-size:calc(11px + var(--ui-font-step, 1pt))}.fiche-intro h1{font-size:calc(24px + var(--ui-font-step, 1pt))}.fiche-intro .badge-line{max-width:320px}
 .pigeon-media{--photo-height:210px;min-height:240px;padding:12px 10px;gap:8px}
 .fiche-grid,.fiche-grid:has(.housing-panel){grid-template-columns:minmax(0,1fr)}.detail-sidebar{min-height:0}.detail-sidebar>.provenance-panel{margin-top:0}
 .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.title-line{grid-template-columns:minmax(0,1fr) auto}.gene-mini{grid-template-columns:repeat(6,minmax(0,1fr))}
 .new-ring-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.new-ring-fields>label:last-child{grid-column:auto;max-width:none}
 .title-line-heading{flex-wrap:wrap}.inspection-panel summary small,.pas-panel summary small{font-size:calc(10px + var(--ui-font-step, 1pt))}.cal-panel{padding:0}
}
@media(max-width:380px){.pigeon-media{--photo-height:168px;min-height:190px}.fields,.color-picker-controls{grid-template-columns:1fr}.title-line{grid-template-columns:1fr}.gene-mini{grid-template-columns:repeat(3,minmax(0,1fr))}.flock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.flock-summary .card{border-bottom:1px solid var(--line)}.flock-summary .card:nth-child(even){border-right:0}.flock-summary .card:nth-last-child(-n+2){border-bottom:0}}
@media(any-pointer:coarse){
 button,.icon-button,#search .add-pigeon,.title-order button{min-height:44px}.icon-button,.title-order button{min-width:44px}
 input,select,.fields input,.fields select{min-height:44px}.title-publish input,.publish-check{min-height:0}
 .title-publish{min-height:44px}.title-order button{width:44px;height:44px}.parent button,.pairing-partner{min-height:44px}
 .cal-hour-slot{min-height:48px}
}

/* Photo management stays between the two images, also for empty slots. */
.pigeon-media.photo-editable{grid-template-columns:minmax(0,2fr) 76px minmax(0,1.2fr);gap:18px}
.photo-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:14px 0;border-block:1px solid #ddd3bd;color:#647267}
.photo-tool-group{display:flex;flex-direction:column;gap:7px;text-align:center;font-size:calc(11px + var(--ui-font-step, 1pt));font-weight:600}
.photo-tool-group>div{display:flex;justify-content:center;gap:5px}.photo-tool-group button{display:grid;place-items:center;padding:0;width:34px;height:34px;min-height:34px;border-color:#d4c6a8;background:#fffdf7}
.photo-tool-group button [aria-hidden=true]:not(svg){font-size:calc(23px + var(--ui-font-step, 1pt));line-height:1}.photo-toolbar>small{font-size:calc(9px + var(--ui-font-step, 1pt));text-align:center;font-weight:400}
.photo-editable .photo-slot{border:1px dashed #cbbc9b;border-radius:6px}
.photo-slot.drag-active,.pas-drop.drag-active,.content-drop.drag-active{outline:2px solid #b59040;outline-offset:2px;background:#e8d6a9}
.photo-dialog{width:min(620px,calc(100vw - 32px));padding:24px;border:1px solid #d4c6a8;border-radius:8px;color:#193c32;background:#fffdf7;max-height:90vh;overflow:auto}
.photo-dialog::backdrop{background:#123a2f66}.photo-dialog h2{font-size:calc(18px + var(--ui-font-step, 1pt));margin:0 0 6px}.photo-dialog-bird{font-size:calc(12px + var(--ui-font-step, 1pt));color:#657369;margin:0 0 14px}
.photo-preview{background:#f4eddd;min-height:180px;display:flex;align-items:center;justify-content:center;border-radius:5px}.photo-preview img{max-width:100%;max-height:45vh;object-fit:contain}.photo-status{font-size:calc(12px + var(--ui-font-step, 1pt));min-height:18px}.photo-dialog .actions{display:flex;gap:8px}
@media(max-width:650px){.pigeon-media.photo-editable{grid-template-columns:minmax(0,1.4fr) 66px minmax(0,1fr);gap:7px}.photo-toolbar{gap:17px}.photo-tool-group{font-size:calc(9px + var(--ui-font-step, 1pt))}.photo-tool-group>div{gap:3px}.photo-tool-group button{width:31px;height:36px;min-height:36px}.photo-toolbar>small{font-size:calc(8px + var(--ui-font-step, 1pt))}.photo-dialog{padding:16px}}

.certificate-meta{display:block;color:var(--muted);font-size:calc(12px + var(--ui-font-step, 1pt));margin-top:3px}

/* Readability — Ivan, 10 October 2026: text +1pt, ring numbers +2pt total.
   Keep root/rem dimensions stable; an inner ring span adds only the second point. */
:root{--ui-font-step:1pt;--ui-ring-extra:1pt}
body{font-size:calc(1rem + var(--ui-font-step))}
:where(small){font-size:calc(.833333em + .166667pt)}
.ring-number{font-size:calc(1em + var(--ui-ring-extra));font-variant-numeric:lining-nums tabular-nums}
/* Fields containing ring numbers have no inner text span. */
.ring-input{--ui-font-step:2pt}
.new-ring-fields input{font-size:calc(1em + var(--ui-ring-extra))}
.parent-search input{font-size:calc(.88rem + 2pt)}

/* Compact list lookup and optional descendants; the planner is unchanged. */
#search .flock-picker{flex:1 1 240px;min-width:220px;margin:0}
#search .flock-picker input{min-width:0;width:100%;max-width:none;padding-right:35px;min-height:34px}
#search .parent-clear{width:32px;height:30px;top:2px;right:2px}
#search .generation-filter{width:220px;max-width:100%;flex:0 1 220px}
#search .parent-popup{max-height:330px;min-width:min(350px,100%)}
.family-filter-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:8px 10px;background:#f4eddd;border:1px solid #e4dcc9;border-radius:5px;font-size:calc(11px + var(--ui-font-step))}
.family-filter-summary button{padding:4px 8px;font-size:inherit}
@media(max-width:650px){#search .flock-picker{flex-basis:100%;min-width:0}#search .generation-filter{flex-basis:100%;width:100%}.family-filter-summary{align-items:flex-start}}

/* Keep labels and account actions usable with the larger interface text. */
.nav button.nav-module{padding-inline:8px;gap:6px}
.account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.account-actions select{width:auto;min-width:140px;max-width:200px}
.account-actions button{white-space:normal}
.accounts-panel .table-wrap{max-width:100%}

/* Compact title counter: 50 visible characters, independent of form size. */
.title-counter{margin-left:auto;color:#718079;font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;white-space:nowrap}.title-counter.near{color:#946719}.title-counter.over{color:#a53930}.title-line-heading .title-order{margin-left:6px}
[data-editing=false] .title-line-heading{display:flex}

/* Approved pigeon card — Ivan, 11 October 2026. Identity and bloodline share
   the photograph strip. The planner and publication layouts remain separate. */
.pigeon-media,.pigeon-media.photo-editable{grid-template-columns:minmax(180px,.95fr) minmax(0,1.65fr) 78px minmax(0,1.1fr);gap:18px;padding:20px;}
.media-identity{display:flex;flex-direction:column;justify-content:center;align-self:stretch;min-width:0;padding-right:6px}
.media-ring{font-size:calc(13px + var(--ui-font-step));color:#58664c;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.media-identity h1{font-size:calc(32px + var(--ui-font-step));font-weight:700;line-height:1.15;letter-spacing:-.7px;margin:6px 0 10px;overflow-wrap:anywhere}
.media-identity .sex-symbol{font-size:calc(23px + var(--ui-font-step));font-weight:400;color:#647569;letter-spacing:0;white-space:nowrap}
.media-status{display:flex;flex-wrap:wrap;gap:5px;font-size:calc(11px + var(--ui-font-step));color:#586a51;line-height:1.5}
.media-presence::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#a29883;margin:0 6px 1px 0}.media-presence[data-presence=true]::before{background:#61875b}
.media-season{display:block;font-size:calc(9px + var(--ui-font-step));margin-top:5px;color:#7d806e}.media-season #bird-revision{font-size:inherit}
.media-bloodline{margin-top:22px;min-height:108px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}
.media-bloodline img{width:100%;max-width:270px;height:100px;object-fit:contain}
.media-bloodline>span{font-size:calc(10px + var(--ui-font-step));color:#78623b;text-align:center;line-height:1.4}
.pigeon-media .photo-toolbar{border-block:0;border-inline:1px solid #d9ceb5;padding:8px 3px;gap:20px}
.photo-tool-group [data-shield-choose]{background:#f9f1da;border-color:#b99a55}
.pigeon-media .photo-slot{border:0}.pigeon-media.photo-editable .photo-slot:hover{outline:1px dashed #cbbc9b;outline-offset:-1px;border-radius:6px}
.pigeon-media .photo-slot.drag-active{outline:2px solid #b59040;outline-offset:2px}
.shield-dialog{width:min(720px,calc(100vw - 32px))}
.shield-choices{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.shield-choice{position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;margin:0;padding:18px 10px 12px;border:1px solid #d9cfb9;border-radius:6px;background:#f7f0e0;font-size:calc(12px + var(--ui-font-step));min-width:0;text-align:center}
.shield-choice:has(input:checked){border-color:#9b7c37;box-shadow:inset 0 0 0 1px #9b7c37;background:#efe2bb}
.shield-choice:has(input:focus-visible){outline:3px solid #d9b66b;outline-offset:2px}
.shield-choice input{position:absolute;top:7px;right:7px;width:17px;height:17px;min-height:0;padding:0;accent-color:#345d49}
.shield-choice img{width:100%;height:95px;object-fit:contain}.shield-choice:last-child{grid-column:1/-1;flex-direction:row;padding:10px 34px}.shield-empty{font-size:18px;font-weight:400}.shield-hint{margin:13px 0 0;font-size:calc(11px + var(--ui-font-step))}
.shield-dialog .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:900px){.pigeon-media,.pigeon-media.photo-editable{grid-template-columns:minmax(155px,.95fr) minmax(0,1.65fr) 78px minmax(0,1.1fr);gap:12px;padding:18px 14px}.media-ring{font-size:calc(12px + var(--ui-font-step))}.media-identity h1{font-size:calc(28px + var(--ui-font-step))}}
@media(max-width:650px){
 .pigeon-media,.pigeon-media.photo-editable{grid-template-columns:minmax(0,1.5fr) 72px minmax(0,1fr);padding:14px 10px;gap:10px 8px}
 .media-identity{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:8px;align-items:center;padding:0 0 12px;border-bottom:1px solid #dfd2b8}
 .media-ring{font-size:calc(12px + var(--ui-font-step))}.media-identity h1{font-size:calc(27px + var(--ui-font-step));margin:4px 0 7px}.media-bloodline{margin:0;min-height:0;gap:4px}.media-bloodline img{height:64px}.media-bloodline>span{font-size:calc(9px + var(--ui-font-step))}
 .pigeon-media .photo-toolbar{gap:12px;padding-inline:0}.photo-tool-group>div{gap:4px}.photo-tool-group button{width:31px;height:36px;min-height:36px}
 .shield-dialog{padding:16px}.shield-choices{grid-template-columns:1fr}.shield-choice{display:grid;grid-template-columns:105px 1fr;text-align:left;gap:12px;padding:10px 30px 10px 10px}.shield-choice img{height:65px}.shield-choice input{top:calc(50% - 8px)}.shield-choice:last-child{display:flex}
}
@media(max-width:380px){.media-identity{grid-template-columns:minmax(0,1fr) 96px}.media-bloodline img{height:52px}.media-ring{font-size:calc(11px + var(--ui-font-step))}}
@media(any-pointer:coarse){.pigeon-media .photo-tool-group button{min-height:44px;height:44px}.shield-choice:last-child{min-height:44px}}

/* International ring entry: only show the fields the country actually needs. */
.ring-country-fields{display:flex;gap:10px;margin-bottom:10px;align-items:end;flex-wrap:wrap}
.ring-country-fields>label:first-child{flex:1;min-width:190px}.ring-country-fields>label:not(:first-child){width:125px}
.ring-country-fields [hidden],.international-ring-fields [hidden]{display:none!important}
.new-ring-fields.international-ring-fields{grid-template-columns:80px minmax(120px,1fr) 85px;gap:10px}
.new-ring-fields.international-ring-fields.has-club{grid-template-columns:minmax(85px,1fr) 75px minmax(115px,1.3fr) 80px}
.new-ring-fields.international-ring-fields>label:last-child{grid-column:auto}
.ring-entry-help{font-size:12px;margin:8px 0 2px}.ring-entry-preview{margin:0 0 12px;min-height:22px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
@media(max-width:550px){.new-ring-fields.international-ring-fields.has-club{grid-template-columns:1fr 1fr}.ring-country-fields{gap:8px}}

/* Online account security keeps the compact app style. */
.mfa-qr{display:block;max-width:100%;height:auto;margin:16px auto}.recovery-codes{padding:16px;background:#f5f1e6;line-height:1.7;white-space:pre-wrap}.mfa-confirm{display:flex;gap:10px;align-items:center;margin:18px 0}.mfa-confirm input{width:auto}.security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:16px}.security-grid input,.security-dialog input{margin-bottom:12px}.security-dialog{max-width:460px;width:calc(100% - 32px);border:1px solid #c8cfbf;border-radius:10px;padding:24px;color:#183f34;background:#fffdf7}.security-dialog::backdrop{background:#0c221899}.security-dialog textarea{width:100%;word-break:break-all}.security-dialog .dialog-close{margin-top:18px}

.passkey-list{padding:0;list-style:none}.passkey-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#d5ded4)}.passkey-list small{display:block;margin-top:4px;color:var(--muted,#61716a)}.passkey-list strong{overflow-wrap:anywhere}.security-grid [hidden]{display:none}.auth>small{display:block;margin-top:6px}

.flock-input-row{display:flex;align-items:stretch;gap:6px}.flock-input-row>.parent-search{flex:1;min-width:0}.flock-open{flex:none;white-space:nowrap;padding-inline:10px}
