/* NIDOVYA 5.0 — brand system based on the owner's original logo.
   No external fonts, trackers or CSS dependencies. */
:root{
  --navy:#091d37;--navy-deep:#05172e;--navy-mid:#173657;--gold:#bf923f;
  --gold-bright:#e0bb70;--gold-light:#fff2d6;--cream:#f7f4ed;--ivory:#fffdf8;
  --forest:#0d3258;--forest-dark:#091d37;--forest-light:#264968;
  --sage:#f1e7cd;--paper:#fff;--text:#1a2b43;--muted:#77849a;
  --line:#e9e3d8;--accent:#d0a75b;--danger:#a64a4b;
  --shadow:0 12px 32px rgba(13,32,55,.052);--radius:17px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
::selection{background:#ebce8a;color:#061a32}
a{transition:color .2s}
:focus-visible{outline:3px solid #d4a858;outline-offset:3px}
input:focus,select:focus,textarea:focus{border-color:#c49a4d!important;box-shadow:0 0 0 4px rgba(193,148,65,.12)!important}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.nav-icon,.hero-feather,.auth-logo-badge svg,.auth-topmark-feather,.metric-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* FRAME / SIDE NAVIGATION */
.sidebar{
 width:266px;flex-basis:266px;
 padding:24px 16px 17px;
 background:linear-gradient(174deg,#112b4d 0%,#091c34 42%,#06172c 100%);
 border-right:1px solid rgba(221,179,103,.19);
 color:#c8d4df;
 scrollbar-color:#4a5d74 #0c223d;
}
.brand{min-height:72px;padding:0 8px 5px;gap:10px;align-items:center}
.brand-mark{
 width:55px;height:55px;border-radius:50%;background:radial-gradient(circle,#fffaed 0%,#f4e8d0 75%,#d6b574 100%);
 border:1.3px solid #d6af60;box-shadow:0 0 0 3px rgba(197,149,70,.11);
 overflow:hidden;flex:0 0 auto;
}
.brand-mark img{width:100%;height:100%;object-fit:cover;object-position:center 29%;transform:scale(1.15)}
.brand-title{min-width:0}
.brand strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;letter-spacing:1.45px;line-height:1;color:#f4dba3;font-weight:600}
.brand small{font-size:7.1px;letter-spacing:1.4px;margin-top:7px;color:#c7b287;white-space:nowrap;font-weight:720}
.brand-rule{display:flex;align-items:center;gap:10px;margin:1px 12px 20px;color:#c89e55}
.brand-rule>span:not(.brand-rule-diamond){height:1px;flex:1;background:linear-gradient(90deg,transparent,#a88041 85%)}
.brand-rule>span:last-child{transform:rotate(180deg)}
.brand-rule-diamond{font-size:9px}
.sidebar-space-name{margin:0 4px 29px;padding:15px 16px 16px;background:rgba(235,214,170,.075);border:1px solid rgba(232,198,133,.17);border-radius:12px}
.sidebar-space-name strong{font-size:13px;margin-top:8px;color:#fff8e5;font-weight:700}
.sidebar-space-kicker{font-size:9px;letter-spacing:1.7px;color:#cfab6a}
.sidebar-section-label{color:#879cb1;font-size:9.3px;letter-spacing:1.6px;padding-left:17px}
.sidebar-section-label.second{padding-top:26px}
.nav-items{gap:4px}
.nav-item{font-size:12.5px;font-weight:580;min-height:45px;color:#ced7e3;gap:12px;padding:0 14px;position:relative;border:1px solid transparent}
.nav-item .nav-icon{width:18px;height:18px;flex:0 0 18px;color:#c6b185;stroke-width:1.7}
.nav-item:hover{background:rgba(255,249,232,.065);color:white}
.nav-item.active{color:#162d46;background:linear-gradient(106deg,#f2d89d,#d7af63);border-color:#efd18e;box-shadow:0 5px 19px rgba(0,0,0,.09);font-weight:750}
.nav-item.active:before{content:"";position:absolute;left:-13px;top:8px;bottom:8px;width:3px;background:#e8bd69;border-radius:0 5px 5px 0}
.nav-item.active .nav-icon{color:#193552}
.sidebar-bottom{padding-top:28px}
.profile-line{border-top:1px solid rgba(231,206,159,.16);margin-top:20px;padding:18px 4px 2px}
.avatar,.topbar-user{background:linear-gradient(140deg,#f0d7a4,#bd9142);color:#0e2c4b;border:1px solid rgba(255,226,166,.65);font-family:Georgia,serif;font-size:16px}
.profile-copy strong{color:#fff5e3}.profile-copy small{color:#9eb0c4}
.logout-button{display:grid;place-items:center;padding:6px;border-radius:9px;color:#d2b781}
.logout-button:hover{background:#203b5b;color:white}
.logout-button .nav-icon{width:18px;height:18px}
.main-area{width:calc(100% - 266px);margin-left:266px}
.topbar{height:76px;background:rgba(255,253,248,.94);border-bottom:1px solid #ebe5d9;padding:0 38px;backdrop-filter:blur(14px)}
.topbar-path{color:#9d9c9c;font-size:12px}.topbar-path b{color:#1b3455}.topbar-path span{color:#c6b28d}
.topbar-right{color:#778195}.topbar-dot{background:#c8a157;box-shadow:0 0 0 3px rgba(207,172,107,.18)}
.topbar-live{color:#846a3c;font-weight:650}.topbar-user{margin-left:9px}
.content{max-width:1590px;padding:32px 38px 18px}
.footer{margin-top:44px;border-top-color:#e5dfd2;color:#8b8d96;font-size:11px}
.footer strong{color:#9c7533;font-family:Georgia,serif;letter-spacing:1.5px}
/* TYPE & CONTROLS */
.eyebrow{color:#9e7a3b;font-size:10px;letter-spacing:2px}
.eyebrow span:not(.small-leaf){color:#ae946d}
.dash-intro h1,.page-header h1{font-family:Georgia,"Times New Roman",serif;font-size:35px;font-weight:600;letter-spacing:-.7px;color:#182f4c}
.page-header h1{font-size:36px}.dash-intro p,.page-header p{color:#758295;font-size:13px;line-height:1.8}
.page-header{padding:4px 0 0}
.btn{border-radius:10px;font-weight:760;letter-spacing:.1px;min-height:43px}
.btn-primary{background:linear-gradient(110deg,#1b395a,#0a2342);color:#f9f5eb;box-shadow:0 5px 14px rgba(10,39,69,.12)}
.btn-primary:hover{background:linear-gradient(110deg,#244a6e,#153456)}
.btn-secondary,.btn-soft{background:#f9efd9;color:#7c5a26;border-color:#ecd6aa}
.btn-outline,.btn-subtle{background:#fffdf8;color:#274567;border-color:#ddd5c5}
.btn-outline:hover,.btn-subtle:hover{background:#fff5e0;border-color:#d8b86c}
.text-action,.soft-link{color:#9b6d26;font-weight:750;text-decoration:none}
.text-action:hover,.soft-link:hover{color:#173654;text-decoration:underline}
/* WELCOME HERO */
.dash-intro{
 overflow:hidden;position:relative;min-height:238px;border-radius:22px;
 align-items:center;justify-content:flex-start;
 padding:33px 39px 31px;margin-bottom:24px;
 background:radial-gradient(circle at 83% 43%,rgba(64,105,140,.28),transparent 39%),linear-gradient(125deg,#0b2546,#06182f 82%);
 box-shadow:0 19px 33px rgba(9,30,53,.16);border:1px solid rgba(220,174,96,.34);
 isolation:isolate;
}
.dash-intro:before{content:"";position:absolute;left:30px;right:30px;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#e4c07b 18%,#b8863c 55%,transparent);z-index:3}
.dash-intro:after{content:"";position:absolute;right:0;bottom:-44px;width:390px;height:210px;border:1px solid rgba(222,179,108,.14);border-radius:100% 0 0 0;transform:rotate(-12deg);pointer-events:none}
.dash-intro-copy{position:relative;z-index:2;max-width:60%;padding-right:8px}
.dash-intro .eyebrow{color:#e6c781;display:flex;align-items:center;gap:9px;letter-spacing:2px;margin:0 0 16px;font-weight:700}
.hero-feather{width:17px;height:17px}
.dash-intro h1{color:#fff9eb;font-size:36px;line-height:1.17;margin:0 0 13px}
.greeting-leaf{color:#d1a14d;font-size:17px;position:relative;top:-9px;margin-left:9px}
.dash-intro p{color:#c8d3e0;max-width:440px;line-height:1.7;font-size:13px;margin:0 0 19px}
.hero-cta{background:linear-gradient(110deg,#f4d998,#cea152);color:#102e4a;box-shadow:0 9px 19px rgba(0,0,0,.17);min-height:42px;padding:10px 16px}
.hero-cta:hover{background:linear-gradient(110deg,#ffe9ad,#d4ab5b);color:#082541}
.hero-cta>span:last-child{margin-left:16px;font-size:16px}
.dash-intro-art{position:absolute;z-index:1;right:6%;bottom:-17px;width:min(34%,350px);height:285px;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 15px 15px rgba(0,0,0,.2))}
.hero-corner-text{position:absolute;right:28px;top:18px;color:#d9bc85;letter-spacing:1.6px;font-size:8px;font-weight:700;opacity:.9}
.hero-corner-text span{margin:0 6px}
/* METRICS & PANELS */
.metric-grid{gap:17px;margin-bottom:20px}
.metric-card{border-color:#ebe3d7;background:linear-gradient(165deg,#fff 65%,#fcfaf6);border-radius:17px;min-height:166px;padding:23px;box-shadow:0 7px 24px rgba(9,38,68,.035);transition:transform .2s,box-shadow .2s}
.metric-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(9,38,68,.08)}
.metric-card:after{content:"";position:absolute;top:0;left:22px;right:22px;height:2px;background:linear-gradient(90deg,transparent,#dec182,transparent)}
.metric-icon{background:#f5e7cc!important;color:#9c742d!important;border:1px solid #ead5ad;border-radius:12px}
.metric-icon svg{width:21px;height:21px;stroke-width:1.7}
.metric-forest{background:#edf0f4!important;color:#163b60!important;border-color:#e0e4ed}
.metric-violet{background:#f3edfa!important;color:#70588e!important;border-color:#ede3f1}
.metric-peach{background:#f9eeee!important;color:#b66d61!important;border-color:#f3dede}
.metric-meta{color:#87929f;font-size:9px;font-weight:800;left:72px;letter-spacing:.8px}
.metric-num{color:#162c49;font-size:36px;font-family:Georgia,serif;font-weight:700;letter-spacing:-.9px}
.metric-caption{color:#8290a1;font-size:11px}
.panel{border:1px solid #e9e2d5;background:var(--paper);box-shadow:var(--shadow);border-radius:17px}
.panel-head h2,.weather-heading h2,.settings-panel h2{color:#162f4e;font-family:Georgia,serif;font-size:19px;letter-spacing:-.2px;font-weight:600}
.panel-head p{color:#8995a5;font-size:11px}
.panel-mini-badge{background:#fcf1dc;color:#8a6729;border:1px solid #f0ddbd}
.task-item,.recent-item{border-bottom-color:#f0ebe1}
.task-check{border-color:#d9c9a9;border-radius:7px}.task-check:hover{background:#f0dcaf;color:#674917;border-color:#bb9345}
.task-date{background:#f4f1e9;color:#6d7a8a}
.task-date.is-today{background:#fff0d7;color:#8e6225}
.task-info span,.recent-info small,.species-top span{color:#8e9aaa}
.panel-bottom{border-top-color:#eee8dd}
.progress{background:#f1ece2;height:7px}
.progress-value,.species-row:nth-child(2) .progress-value,.species-row:nth-child(3) .progress-value,.species-row:nth-child(4) .progress-value{background:linear-gradient(90deg,#1e4569,#c69a49)}
.progress-value.progress-full{background:#bd644c}
.subcard-metric{background:linear-gradient(110deg,#f8f2e6,#fcfbf8);border-color:#e9ddc5}
.subcard-metric strong{color:#203e5a}.subcard-metric>a{color:#a97e38}
.recent-arrow{color:#ac8640}.bird-thumb{background:#f7efdf;color:#b58b49}
.enclosure-symbol{background:#f3e9d6!important;color:#87612d!important}
.upcoming-head{color:#906f33}
/* WEATHER / LOCAL TO EACH AVIARY */
.weather-panel{
 background:linear-gradient(108deg,#fffdf8,#fff 63%,#fbf5e9);
 padding:25px 27px 14px;margin-bottom:20px;
 border:1px solid #e7dac2;border-left:4px solid #c69a4c;position:relative;
}
.weather-heading .eyebrow{color:#a17d3c}.weather-heading h2{font-size:21px;margin-bottom:6px}
.weather-content{padding:13px 0 17px;gap:24px}
.weather-symbol{font-size:45px;filter:drop-shadow(0 4px 8px rgba(120,91,47,.11))}
.weather-location{color:#7f683e;font-size:11px}
.weather-degrees{color:#153453;font-family:Georgia,serif;font-size:47px;font-weight:700}
.weather-condition{color:#6a778a}
.weather-stats{border-left:1px solid #e7dac7;border-right:1px solid #e7dac7}
.weather-stats span{color:#9e988b}
.weather-stats strong{color:#203953;font-size:14px}
.weather-day{border:1px solid #eee3cf;background:#fbf6e9;border-radius:12px}
.weather-day>span{color:#8e662b}.weather-day b{color:#172f4c}.weather-day small{color:#8f8d8a}
.weather-credit{border-top-color:#eee5d5;color:#8a96a4}.weather-credit a{color:#9b702c}
.weather-empty{color:#5b6d81}.weather-empty a{color:#986e2f}
/* LISTS, FORMS, INDIVIDUAL PROFILES */
.table-panel{overflow:hidden}
.data-table th{background:#fbf8f1;color:#8d806a;letter-spacing:1.2px;border-bottom:1px solid #eee6d8}
.data-table td{border-top-color:#f1ebe2;color:#293d54}
.data-table tbody tr:hover{background:#fffdf7}
.cell-link,.cell-strong{color:#163656}
.cell-link:hover{color:#ac7930}
.search-box{background:#fffdf8;border-color:#dfd6c8}
.search-box:focus-within{border-color:#ca9e56;box-shadow:0 0 0 4px rgba(205,157,76,.1)}
.row-action{border-color:#e8e1d6;color:#6a7789}.row-action:hover{background:#f9edda;color:#8c692d}
.tag{font-weight:700;border:1px solid transparent}
.tag-success{background:#eef4e8;color:#536e3d;border-color:#e1ead5}
.tag-muted{background:#f2f1ed;color:#7b818b}
.tag-neutral{background:#edf2f9;color:#46638b;border-color:#e2e9f2}
.tag-danger{background:#fff0ed;color:#b34e46}
.form-panel{border-radius:18px}
.form-section-heading h2{color:#153454;font-family:Georgia,serif}
.section-number{background:#f1e0bc;color:#895f23}
.form-field label,.settings-form label{color:#28425f}
.form-field input:not([type=checkbox]),.form-field select,.form-field textarea,.settings-form input{background:#fffdf8;border:1px solid #dfd7c9;color:#24384f;border-radius:9px}
.settings-panel .settings-icon,.tip-icon{background:#fcf0d8;color:#996f32;border:1px solid #ebdbbc}
.tip-card{background:#fffaf0;border:1px solid #e9ddc5}.tip-card.tip-green{background:#f0f3f7;border-color:#e3e9f0}
.tip-card h3{color:#203b5b}.tip-card p{color:#758399}
.bird-profile .bird-photo{background:#f8f1e3;border-color:#eadcc4}
.bird-notes,.weather-help{color:#728195}
.parents-grid .parent-card{background:#fcfaf6;border-color:#eee4d7}
.settings-grid .panel{border-color:#e8dfd0}
.settings-panel>p{color:#7e8a9a}
.weather-configured{color:#72552c;background:#fdf3dd}
.export-links a{border-color:#e8dfd1;color:#274666}.export-links a:hover{background:#fbf1dc}
.user-row{border-bottom-color:#eee6d9}.user-avatar{background:#f6e8cd;color:#7d5822}
.user-info strong{color:#1c3958}.user-info span{color:#917239}
.auth-hint,.auth-message{background:#fbf0da;border-color:#f0dcb6;color:#755523}
.flash-warning{background:#fff0d8;color:#855116;border:1px solid #e4b86c}.flash-warning span{background:#f5d8a5}
.flash-success{background:#f9f2e2;border-color:#dfc891;color:#71521f}.flash-success span{background:#eed5a0}
/* AUTHENTICATION AND ACCOUNT CREATION */
.auth-mini-emblem{width:35px;height:35px;object-fit:cover;object-position:center 26%;border-radius:50%;background:#fff2d5;border:1px solid #d7b26a;vertical-align:middle}
.body-auth{background:#0a1e38}
.auth-layout{grid-template-columns:minmax(0,53%) minmax(400px,47%);min-height:100vh}
.auth-art{
 background:radial-gradient(circle at 32% 46%,#fffdf8 0%,#f8f3e9 50%,#eae0cd 100%);
 color:#1a2f4c;padding:23px 38px 24px;align-items:stretch;
 border-right:2px solid #bc934b;
}
.auth-art:after{background:radial-gradient(ellipse at 52% 40%,rgba(239,205,143,.2),transparent 65%)}
.auth-art-content{max-width:780px;align-items:stretch}
.auth-logo{gap:10px;color:#173252;font-size:21px;font-family:Georgia,serif;font-weight:600;letter-spacing:2.2px}
.auth-logo b{display:block;font-family:Arial,sans-serif;font-size:8px;color:#ad7e39;letter-spacing:2.2px;margin-top:3px;font-weight:700}
.auth-logo-badge{border:1px solid #d2ad69;background:#0b284b;color:#e3bc70;width:38px;height:38px;border-radius:11px}
.auth-logo-badge svg{width:22px;height:22px}
.auth-hero-art{width:100%;max-width:680px;min-height:230px;max-height:none;aspect-ratio:auto;flex:1 1 auto;display:flex;align-items:center;justify-content:center;margin:12px auto 8px;position:relative}
.auth-hero-art img{width:100%;height:auto;max-height:min(55vh,575px);object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(73,57,36,.09))}
.auth-art h2{font-family:Georgia,serif;color:#132e50;font-size:29px;font-weight:600;letter-spacing:-.3px;line-height:1.17;margin:0 0 10px}
.auth-art h2 em{color:#a97e37}
.auth-art p{color:#627189;font-size:12.5px;line-height:1.6;max-width:570px;margin-bottom:14px}
.auth-art-note{border-top:1px solid #d9c7a4;color:#85672f;padding-top:13px;margin-top:auto;font-size:9px;font-weight:750;letter-spacing:1.8px}
.auth-art-note span{color:#c59a4d}
.auth-form-side{background:radial-gradient(circle at 100% 0%,#1b3b61 0%,#102a4a 35%,#061831 100%);color:#fff;padding:40px 65px}
.auth-form-wrap{max-width:420px}
.auth-topmark{display:flex;align-items:center;gap:8px;color:#f2cf86;font-size:12px;letter-spacing:2.1px;font-family:Georgia,serif;margin-bottom:45px}
.auth-topmark-feather{width:18px;height:18px}
.auth-eyebrow{color:#e3bf79;letter-spacing:2.1px}
.auth-form-wrap h1{color:#fff8e9;font-family:Georgia,serif;font-weight:600;font-size:39px;line-height:1.17;letter-spacing:-.5px}
.auth-form-wrap h1 span{color:#efcc83}
.auth-subtitle{color:#adbed0;font-size:13px;line-height:1.8;margin-bottom:30px}
.auth-fields{gap:17px}
.auth-fields label{color:#e8e6df;font-size:12px;font-weight:660}
.auth-fields label small{color:#d1b686}
.auth-fields input{min-height:49px!important;border-radius:10px!important;background:#fffdf8!important;color:#1f3450!important;border:1px solid #d8d9d7!important;box-shadow:none}
.auth-fields input::placeholder{color:#9a9fab}
.auth-submit{background:linear-gradient(104deg,#eed39a,#c79b49);color:#142f4c;box-shadow:0 10px 24px rgba(0,0,0,.16);min-height:49px;margin-top:4px;font-weight:800}
.auth-submit:hover{background:linear-gradient(104deg,#fce3ae,#d9af64);color:#132a45}
.auth-links a,.body-auth .text-action{color:#eed29d}
.auth-links a:hover{color:#fff0c7}
.auth-security{border-top-color:rgba(234,210,158,.2);color:#92a5bc}
.body-auth .field-error-banner{background:#452a35;border-color:#a47779;color:#ffebe4}
.body-auth .auth-hint,.body-auth .auth-message{background:rgba(215,171,92,.13);color:#f2ddb0;border-color:rgba(221,174,95,.32)}
/* RESPONSIVE */
@media(max-width:1300px){.content{padding:28px 26px 16px}.topbar{padding:0 26px}.metric-card{padding:20px 17px}.metric-meta{left:67px}.dash-intro{padding:29px 30px}}
@media(max-width:1120px){.dash-intro h1{font-size:32px}.dash-intro-copy{max-width:65%}.dash-intro-art{width:34%;right:3%}.weather-content{gap:17px}.auth-art{padding:25px 27px}.auth-form-side{padding:40px}.auth-art h2{font-size:25px}}
@media(max-width:900px){.sidebar{width:266px;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.mobile-screen.open{background:rgba(5,21,42,.78)}.main-area{margin-left:0;width:100%}.menu-toggle{display:grid;place-items:center;background:transparent;color:#1d3959}.menu-toggle .nav-icon{width:22px;height:22px}.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.auth-form-side{min-height:100vh}.auth-topmark{display:flex}}
@media(max-width:700px){.content{padding:19px 15px 16px}.topbar{height:64px;padding:0 16px}.dash-intro{min-height:245px;padding:26px 20px}.dash-intro-copy{max-width:75%}.dash-intro h1{font-size:30px}.dash-intro p{max-width:310px;font-size:12px}.dash-intro-art{width:42%;right:-2%;bottom:-25px;opacity:.34}.hero-corner-text{display:none}.metric-grid{gap:11px}.metric-card{min-height:148px}.metric-meta{font-size:8px;left:59px;top:24px;letter-spacing:.4px}.metric-num{font-size:33px}.weather-panel{padding:18px}.weather-stats{border-left:0;border-right:0}.weather-heading h2{font-size:19px}.weather-day{min-height:84px}}
@media(max-width:560px){.dash-intro{border-radius:17px;min-height:260px}.dash-intro-copy{max-width:100%}.dash-intro h1{max-width:300px;font-size:29px}.dash-intro p{max-width:250px}.dash-intro-art{right:-35px;bottom:-35px;width:190px;opacity:.22}.hero-cta{font-size:11px}.metric-card{padding:15px 13px}.metric-meta{left:52px;top:24px}.metric-num{font-size:30px}.metric-icon{width:30px;height:30px;margin-bottom:23px}.metric-icon svg{width:17px;height:17px}.weather-heading{gap:7px;flex-direction:column}.weather-heading .text-action{font-size:11px;align-self:flex-end;margin-top:-4px}.weather-content{gap:14px}.weather-stats{border-top:1px solid #eee2cb}.weather-days{gap:6px}.weather-day{padding:9px 3px}.weather-day b{font-size:10.5px}.auth-form-side{padding:34px 23px}.auth-form-wrap h1{font-size:34px}.auth-topmark{margin-bottom:35px}.page-header h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* The corner inscription is redundant next to the brand emblem. */
.hero-corner-text{display:none}

/* NIDOVYA v6 · SOLAR RHYTHM + ARTIFICIAL PHOTOPERIOD */
.solar-panel{margin:23px 0;padding:27px 29px;border:1px solid #e5d9c1;background:#fffdf9}
.solar-panel .panel-head{margin-bottom:22px;gap:15px;align-items:flex-start}
.solar-panel .eyebrow,.photoperiod-page-head .eyebrow{color:#a77b34;letter-spacing:1.7px;font-weight:800;font-size:10px}
.solar-panel h2,.light-calendar-panel h2,.light-config h2{font-family:Georgia,serif;color:#183350;letter-spacing:-.35px}
.solar-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.solar-stat{background:#faf7ef;border:1px solid #ebe1cd;border-radius:14px;padding:17px 19px;display:flex;flex-direction:column;gap:5px;min-width:0}
.solar-stat-featured{background:linear-gradient(125deg,#0c2a4a,#173d65);border-color:#315679;color:#fff6e0}
.solar-stat-icon{font-size:21px;color:#b7883d;line-height:1}
.solar-stat-featured .solar-stat-icon{color:#f2d89a}
.solar-stat>span:nth-child(2){font-size:9px;letter-spacing:1.1px;color:#7d8c9f;font-weight:850}
.solar-stat-featured>span:nth-child(2){color:#dfc790}
.solar-stat strong{font-size:29px;font-family:Georgia,serif;font-weight:600;letter-spacing:-1px;color:#173556;font-variant-numeric:tabular-nums}
.solar-stat-featured strong{color:#fff5d6}
.solar-stat small{font-size:10px;color:#8c98a5}
.solar-stat-featured small{color:#b7cae0}
.solar-chart-wrap{border:1px solid #eee5d7;background:linear-gradient(180deg,#fefdfb,#faf8f2);border-radius:15px;padding:18px 18px 10px;margin-top:17px}
.solar-chart-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 1px 4px}
.solar-chart-title h3{font-size:14px;color:#183755;font-weight:800;margin:0}
.solar-chart-title span{font-size:11px;color:#806b4c}
.solar-annual-chart{display:block;width:100%;height:auto;color:#395572;overflow:visible}
.solar-chart-caption,.solar-disclaimer{font-size:10.5px;color:#8895a3;line-height:1.65}
.solar-disclaimer{margin:10px 0 0}
.solar-empty{margin:10px 0 5px}
.photo-top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.72fr);gap:20px;align-items:start;margin-bottom:22px}
.photoperiod-page-head h1{font-family:Georgia,serif;letter-spacing:-.8px;color:#183451}
.light-config,.light-overview,.light-calendar-panel{padding:27px 29px;border:1px solid #e9dfce;background:#fffefa}
.light-form{display:flex;flex-direction:column;gap:18px}
.light-form label{font-size:12px;font-weight:750;color:#2d4660;display:flex;flex-direction:column;gap:7px}
.light-form input[type="date"],.light-form input[type="time"]{font:inherit;font-size:14px;font-weight:600;color:#173556;border:1px solid #d6cbb6;border-radius:9px;min-height:44px;padding:10px 12px;background:#fff;width:100%;box-sizing:border-box}
.light-form input:focus-visible{outline:2px solid #ba8d45;outline-offset:2px}
.light-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.light-help{font-size:11px;color:#738195;background:#f9f5e9;border-radius:9px;padding:10px 13px;line-height:1.65;margin:0}
.light-fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.light-fieldset legend{font-size:12px;font-weight:800;color:#2d4660;margin-bottom:7px}
.light-fieldset .light-radio{display:flex;align-items:start;flex-direction:row;gap:12px;border:1px solid #e5ddcf;border-radius:10px;padding:12px 14px;background:#fff;cursor:pointer}
.light-radio:has(input:checked){border-color:#c8a46a;background:#fff9ed;box-shadow:0 0 0 1px rgba(186,141,69,.12)}
.light-radio input{flex:none;accent-color:#b58439;margin-top:3px}
.light-radio span{display:flex;flex-direction:column;gap:3px}
.light-radio b{color:#193957;font-size:12px}
.light-radio small{color:#78869a;font-size:10.5px;line-height:1.55;font-weight:450}
.light-form-footer{border-top:1px solid #ece2d2;padding-top:19px;display:flex;gap:15px;align-items:center;justify-content:space-between}
.light-form-footer p{font-size:10px;color:#8090a0;margin:7px 0 0;line-height:1.5}
.light-auto-badge{color:#977034;font-weight:850;font-size:11px}
.light-form-footer .btn{white-space:nowrap;flex:none}
.light-overview{background:radial-gradient(circle at 100% 0%,#1a4066 0%,#0a294a 53%,#071c34 100%);color:#eff3f6;border:1px solid #19446d;min-height:320px;position:relative;overflow:hidden}
.light-overview:before{content:"☼";position:absolute;font-family:Georgia,serif;font-size:240px;top:-98px;right:-46px;color:rgba(221,171,83,.06);pointer-events:none}
.light-overview .eyebrow{color:#dabb77;letter-spacing:1.8px}
.light-goal{font:600 clamp(42px,5vw,69px)/1.1 Georgia,serif;color:#f5d698;letter-spacing:-2px;margin:16px 0 5px}
.light-goal span{font-size:.43em;color:#d3b57d}
.light-overview>p{font-size:12px;color:#ccd8e6;line-height:1.65;margin:5px 0 25px}
.light-overview>p strong{color:#f6e4bc}
.light-goal-line{border-top:1px solid rgba(229,217,194,.18);padding:13px 0;display:flex;justify-content:space-between;gap:12px;font-size:11px}
.light-goal-line>span{color:#95b2d0}
.light-goal-line>strong{color:#fff1d4;text-align:right;font-weight:650}
.light-overview .light-alert,.light-overview .light-good{border:1px solid rgba(224,180,106,.3);border-radius:10px;padding:12px;color:#ffe0a4;background:rgba(210,144,51,.12);margin:15px 0 2px;font-size:11px}
.light-overview .light-good{color:#ccedce;border-color:rgba(132,220,166,.33);background:rgba(44,137,99,.13)}
.light-overview a{color:#f6cb86;text-decoration:underline}
.light-calendar-panel{margin:0 0 25px}
.light-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.light-actions{display:flex;gap:9px;flex-wrap:wrap}
.light-actions .btn{font-size:11px;padding:10px 13px}
.light-key{display:flex;gap:19px;flex-wrap:wrap;color:#718198;font-size:10.5px;margin:0 0 17px}
.light-key span{display:flex;align-items:center;gap:7px}
.light-key-dot{width:10px;height:10px;border-radius:50%;background:#98bfd0;display:inline-block}
.light-key-art{background:#bb8d45}.light-key-alert{background:#dc956c}
.light-table-scroll{max-height:650px;overflow:auto;border:1px solid #e8dfd0;border-radius:12px;scrollbar-color:#b8a17b #f7f2e8}
.light-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1150px;font-size:11px;font-variant-numeric:tabular-nums;color:#304961}
.light-table th{position:sticky;top:0;z-index:2;text-align:left;background:#143554;color:#f2e4c4;padding:12px 10px;white-space:nowrap;font-size:10px;letter-spacing:.15px;font-weight:740}
.light-table td{padding:10px;border-bottom:1px solid #ede8dc;vertical-align:middle;background:#fffdf8}
.light-table tbody tr:nth-child(2n) td{background:#f9f6f0}
.light-table tbody tr:last-child td{border-bottom:0}
.light-table tbody tr.light-table-warning td{background:#fff5ed}
.light-table .light-table-date{font-weight:850;white-space:nowrap;color:#1e3b5a}
.light-table-date small{display:block;font-size:8px;letter-spacing:.5px;margin-top:3px;color:#a37637}
.light-added{color:#986822;white-space:nowrap}
.light-time-ranges{white-space:nowrap}.light-time-ranges span{display:block;line-height:1.7}
.light-pill{border-radius:20px;padding:4px 8px;white-space:nowrap;display:inline-block;font-size:9.5px;font-weight:740}
.light-pill-ok{color:#2c7657;background:#e8f4ec}.light-pill-warning{color:#a35b25;background:#fae3cb}
.light-warning-description{display:block;font-size:9px;color:#a16b42;line-height:1.5;margin-top:4px;min-width:200px}
.light-note{font-size:11px;line-height:1.75;color:#65778d;background:#f8f5ec;padding:15px 18px;border-radius:9px;margin-top:17px;border-left:3px solid #bd934e}
.light-note strong{color:#204061}
@media(max-width:1120px){.photo-top-grid{grid-template-columns:1fr}.light-overview{min-height:0}.light-overview .light-goal{margin-top:12px}}
@media(max-width:700px){.solar-panel{padding:19px 16px}.solar-panel .panel-head{flex-direction:column}.solar-stat{padding:13px 10px}.solar-stat strong{font-size:21px}.solar-stat>span:nth-child(2){font-size:8px}.solar-stat small{font-size:9px}.solar-chart-wrap{padding:12px 8px}.light-config,.light-overview,.light-calendar-panel{padding:19px 16px}.light-calendar-head{flex-direction:column;align-items:stretch}.light-form-footer{flex-direction:column;align-items:stretch}.light-form-footer .btn{align-self:stretch}.light-form-grid{grid-template-columns:1fr}.light-overview{min-height:0}}
@media(max-width:450px){.solar-stat-grid{gap:6px}.solar-stat{border-radius:9px;padding:11px 7px}.solar-stat strong{font-size:18px}.solar-stat small{font-size:8px}.solar-chart-title h3{font-size:12px}}
@media print{
  .sidebar,.topbar,.footer,.light-config,.light-overview,.light-actions,.light-key,.light-note,.page-header{display:none!important}
  .main-area{margin:0!important;width:100%!important}.content{padding:0!important}
  .light-calendar-panel{padding:0!important;border:0!important}
  .light-table-scroll{max-height:none!important;overflow:visible!important;border:0!important}
  .light-table{min-width:0!important;font-size:8px!important}
  .light-table th{position:static;color:#000;background:#f1ece4;white-space:normal}
  .light-table td{padding:5px;border-bottom:1px solid #ddd}
  .light-table-warning td{background:#fff4eb!important}
  .light-table tr{break-inside:avoid}
  @page{size:A4 landscape;margin:12mm}
}

/* v7 · Genealogia, compatibilità e mappa di parentela */
.gene-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0 18px}
.gene-tabs a{display:inline-flex;align-items:center;padding:11px 15px;border:1px solid #e6d9c2;border-radius:12px;color:#52657b;font-weight:650;font-size:12px;background:#fffdf7;text-decoration:none}
.gene-tabs a.chosen,.gene-tabs a:hover{background:#122b4b;border-color:#122b4b;color:#fff5db}
.gene-panel{padding:26px 29px;margin-bottom:20px;background:#fffefa}
.gene-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:23px}
.gene-panel-head h2{font-family:Georgia,serif;color:#122c4a;font-size:24px;font-weight:600;margin:5px 0 5px}
.gene-panel-head p{color:#738197;font-size:12px;line-height:1.7;max-width:700px}
.gene-selector{padding:18px 24px;margin-bottom:18px}
.gene-selector label,.gene-pair-form label,.gene-parent-form label,.gene-species-form label{font-weight:750;font-size:12px;color:#314866;margin-bottom:8px;display:block}
.gene-pick,.gene-pair-form,.gene-parent-form,.gene-species-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.gene-pick label{flex:0 0 100%;margin-bottom:0}
.gene-pick select{flex:1;min-width:230px}
.gene-pick select,.gene-pair-form select,.gene-parent-form input,.gene-species-form select{min-height:43px;border:1px solid #daceb9;border-radius:11px;background:white;color:#142b48;padding:9px 12px;font-size:13px;max-width:100%}
.gene-parent-form>div,.gene-pair-form>div{flex:1;min-width:195px;display:flex;flex-direction:column}
.gene-parent-form input,.gene-pair-form select{width:100%}
.gene-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.gene-metric{padding:21px 22px;display:flex;gap:9px;flex-direction:column;background:#fffefc}
.gene-metric span,.gene-result-stats small{letter-spacing:1px;color:#aa864a;font-size:10px;font-weight:800}
.gene-metric strong{font-family:Georgia,serif;font-size:25px;color:#183655;overflow-wrap:anywhere}
.gene-metric small{color:#71829a;font-size:11px}
.pedigree-scroll{overflow-x:auto;padding:0 0 12px}
.pedigree-tree{position:relative;display:grid;grid-template-columns:repeat(4, minmax(180px,1fr));gap:29px;min-width:840px;isolation:isolate}
.pedigree-connections{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}
.pedigree-column{z-index:1;display:flex;flex-direction:column;gap:15px}
.pedigree-generation-title{text-align:center;font-size:10px;letter-spacing:1.2px;color:#ab823d;font-weight:800}
.pedigree-col-nodes{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:7px}
.pedigree-node{display:flex;flex-direction:column;justify-content:center;min-height:74px;padding:10px 12px;border:1px solid #dfceae;border-radius:12px;background:#fff9ef;box-shadow:0 4px 10px rgba(30,50,65,.04);text-decoration:none;color:#193450;overflow:hidden}
.pedigree-node:hover{border-color:#bb8e3e}
.pedigree-main{background:linear-gradient(110deg,#173452,#0d2543);color:#fff4df;border-color:#d7b46b}
.pedigree-node .pedigree-ring{font-weight:800;font-size:11px;color:#b0843e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pedigree-main .pedigree-ring{color:#f5d898}
.pedigree-node strong{font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pedigree-node small{font-size:9px;color:#70839a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pedigree-main small{color:#d6c9b2}
.pedigree-unknown{border-style:dashed;background:#f6f5f2;border-color:#dadfe2;opacity:.76}
.pedigree-unknown>span{color:#aab3bb;font-size:13px}
.gene-info-note{font-size:12px;line-height:1.8;background:#f9f4e9;border:1px solid #e6d8b8;color:#6c614b;padding:15px 19px;margin:20px 0;border-radius:11px}
.gene-result-tag{border-radius:20px;font-size:10px;letter-spacing:.5px;font-weight:800;padding:10px 12px;background:#fff0d3;color:#966b24}
.gene-bad{border-color:#dfbdb9;background:#fffbfa}.gene-bad .gene-result-tag{color:#a7352c;background:#fce3df}
.gene-warning{border-color:#e5b979;background:#fffaf2}.gene-warning .gene-result-tag{color:#855115;background:#f9e6ba}
.gene-warning-text{padding:13px 17px;font-size:13px;color:#77521e;background:#fff4df;border:1px solid #e7c88f;border-radius:11px;line-height:1.7}
.gene-inline-alert{margin:13px 0;padding:14px 16px;background:#fff2d9;border:1px solid #dfb76e;border-radius:11px;color:#674819;line-height:1.6;font-size:13px}
.gene-inline-alert[data-kind="invalid"]{background:#ffefea;border-color:#dfab9e;color:#933f34}
.gene-inline-alert[data-kind="unknown"]{background:#f8f4e8;border-color:#e2d4b2}
.gene-inline-alert[data-kind="clear"]{background:#f0f8f2;border-color:#bcdac5;color:#24604a}
.gene-okay{border-color:#bdcfd0}.gene-unknown{border-color:#e5c58d}
.gene-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0 18px}
.gene-result-stats>div{border:1px solid #e9dfce;background:white;border-radius:12px;padding:16px 11px;display:flex;flex-direction:column;gap:10px}
.gene-result-stats strong{font-family:Georgia,serif;font-size:28px;color:#1d3c60}
.gene-issues{padding:13px 17px;color:#92542b;background:#fff4e5;border-radius:11px;border:1px solid #e7d2ad;font-size:12px;margin:12px 0}
.gene-issues p+p{margin-top:7px}.gene-protect{font-weight:750;color:#a43c34;margin-top:12px}
.gene-common-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:8px 0}
.gene-common{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border:1px solid #e5d8bf;border-radius:11px;background:white;text-decoration:none;color:#18334f}
.gene-common strong{color:#a47832;font-size:13px}.gene-common span{font-size:12px}.gene-common small,.gene-muted{font-size:12px;line-height:1.7;color:#748297}
.gene-small-head{margin-top:19px;margin-bottom:12px}.gene-small-head h2{font-size:19px}
.gene-ai-text{padding:18px 20px;white-space:pre-wrap;border-radius:12px;background:#f3f6f8;color:#263b4e;font-size:13px;line-height:1.8;margin:14px 0}
.gene-species-form{margin-bottom:18px}.gene-species-form label{margin:0}.gene-species-form select{min-width:200px}
.gene-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11px;color:#596a7d;margin:16px 0}
.gene-dot{display:inline-block;border-radius:4px;width:12px;height:12px;vertical-align:middle;margin-right:4px}
.gene-dot.warning,.gene-heatmap-cell.warning{background:#ffe3b8;color:#865013}
.gene-heatmap-cell.invalid{background:#fbe3df;color:#a5362d}
.gene-dot.unknown,.gene-heatmap-cell.unknown{background:#fff0d2;color:#886321}
.gene-dot.checked,.gene-heatmap-cell.checked{background:#e8f3ed;color:#29634b}
.gene-heatmap-scroll{max-width:100%;overflow:auto}
.gene-heatmap{border-collapse:separate;border-spacing:5px;font-size:11px;min-width:440px}
.gene-heatmap th{padding:8px 10px;color:#2a415e;max-width:130px;overflow-wrap:anywhere}
.gene-heatmap-cell{display:block;min-width:55px;border-radius:9px;font-weight:800;text-align:center;padding:15px 7px;text-decoration:none}
.gene-proposals{display:grid;gap:9px}
.gene-proposal{display:flex;gap:15px;align-items:center;flex-wrap:wrap;text-decoration:none;color:#23405d;background:#fffdf8;border:1px solid #e7dece;border-radius:12px;padding:12px 16px}
.gene-proposal>span:not(.gene-cross):not(.gene-proposal-status){display:flex;flex-direction:column;gap:4px}
.gene-proposal strong{font-size:12px}.gene-proposal small{font-size:10px;color:#758599}
.gene-cross{color:#bd9450;font-size:22px}.gene-proposal-status{margin-left:auto;font-size:11px;color:#76603a;text-align:right}.gene-proposal-status small{display:block}
.gene-empty{padding:25px 0;color:#718094;font-size:13px}
.gene-alert{background:#faf0d9;border:1px solid #ead4aa;border-radius:10px;padding:12px 15px;color:#725523;font-size:12px;line-height:1.5;margin-bottom:16px;grid-column:1/-1}
.gene-alert a{color:#755420;font-weight:800}
.gene-list-alert{display:block;color:#9a5c15!important;font-weight:700;margin-top:7px}
@media(max-width:700px){.gene-panel{padding:20px 16px}.gene-panel-head{flex-direction:column}.gene-metrics{grid-template-columns:1fr}.gene-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.gene-selector{padding:16px}.gene-pick .btn,.gene-pair-form .btn,.gene-parent-form .btn{width:100%}.gene-pick select{flex:1 1 100%}.gene-tabs a{font-size:11px;padding:10px 11px}}
/* NIDOVYA v8 — annate, coppie, cove, planimetria */
.v8-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}.v8-pair-card,.v8-clutch-choice{padding:26px!important;display:flex;flex-direction:column;gap:14px}.v8-card-top,.v8-clutch-head,.v8-choice-bottom,.v8-map-toolbar,.v8-map-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.v8-number{font-size:11px;letter-spacing:.14em;color:#A68542;font-weight:800}.v8-pair-card h2,.v8-clutch-choice h2,.v8-pair-summary h2,.v8-clutch-row h2{font-size:21px;margin:0}.v8-gold{color:#BE9548}.v8-pair-info{display:flex;gap:15px;flex-wrap:wrap;font-weight:600}.v8-pair-info span{background:rgba(185,154,89,.10);padding:8px 12px;border-radius:10px}.v8-cage{border-top:1px solid var(--border,#e0dccc);padding-top:12px}.v8-pair-notes{color:var(--text-muted,#777);white-space:pre-wrap}.v8-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.v8-text-danger{border:0;background:transparent;color:#A9534E;cursor:pointer;padding:8px 0;text-decoration:underline}.v8-form{padding:28px!important;max-width:950px}.v8-empty{padding:42px!important;text-align:center}.v8-clutch-choice{text-decoration:none!important;color:inherit;transition:transform .2s}.v8-clutch-choice:hover{transform:translateY(-3px)}.v8-choice-bottom{margin-top:auto;color:#A68542}.v8-pair-summary{padding:25px!important;margin-bottom:24px}.v8-clutch-timeline{display:grid;gap:14px}.v8-clutch-row{padding:22px 26px!important;border-left:4px solid #B99755!important}.v8-metrics{display:flex;gap:18px;margin:18px 0;flex-wrap:wrap}.v8-metrics div{min-width:100px;background:rgba(177,146,80,.07);border-radius:9px;padding:11px 16px}.v8-metrics b{font-size:23px;display:block}.v8-metrics small{font-size:12px}.v8-year-card{padding:22px!important;display:flex;flex-direction:column;gap:12px}.v8-year-card h2{margin:0}.v8-year-card p{margin:0}.v8-year-circle{width:54px;height:54px;border:3px solid white;outline:1px solid #d0c6ac;border-radius:50%;display:inline-block}.v8-year-card label{display:flex;gap:10px;align-items:center}.v8-year-card input[type=color]{width:56px;height:35px;border:0;background:none;cursor:pointer}.v8-year-tag{display:inline-flex;gap:7px;align-items:center;font-weight:750}.v8-year-dot{width:13px;height:13px;border-radius:50%;border:1px solid #999;flex:none}.v8-year-heading td{background:rgba(173,139,73,.09)!important;font-weight:800;color:#B18D4D}.v8-map-wrap{padding:20px!important}.v8-map-toolbar{padding:10px 4px 20px}.v8-map-toolbar span{display:flex;align-items:center;gap:8px}.v8-map-key{width:14px;height:14px;border-radius:4px;display:inline-block}.v8-map-key.cage{background:#BA9B54}.v8-map-key.aviary{background:#46768F}.v8-map{height:570px;min-height:460px;position:relative;overflow:hidden;border:2px dashed #C6B890;border-radius:15px;background-color:#F7F2E7;background-image:linear-gradient(to right,rgba(20,39,65,.07) 1px,transparent 1px),linear-gradient(to bottom,rgba(20,39,65,.07) 1px,transparent 1px);background-size:28px 28px}.v8-map-item{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 10px;min-width:104px;max-width:145px;min-height:59px;color:white;border-radius:10px;cursor:grab;touch-action:none;user-select:none;box-shadow:0 4px 12px #12293d30;z-index:2;font-size:12px}.v8-map-item b{font-size:12px;line-height:1.25}.v8-map-item small{font-size:10px}.v8-map-item.dragging{cursor:grabbing;z-index:4;outline:3px solid #FFD98A}.v8-map-item:focus{outline:3px solid #E6AC4C}.v8-map-cage{background:#9D7E3B}.v8-map-aviary{background:#264E68}.v8-map-empty{position:absolute;left:8%;top:20%;color:#556}.v8-map-footer{padding:18px 0 0}.v8-map-footer p{max-width:520px}.v8-qr-panel{padding:24px!important;display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:center}.v8-print-label{background:white;color:#132A43;text-align:center;padding:23px;border:1px solid #d7d7d7;border-radius:12px}.v8-qr-logo{width:65px;height:65px;object-fit:contain}.v8-qr-image{width:230px;max-width:100%;display:block;margin:18px auto}.v8-print-label h2{letter-spacing:.19em;font-size:25px}.v8-qr-info small{overflow-wrap:anywhere}.v8-no-photo{min-height:95px;display:grid;place-items:center}.v8-legacy-status{color:#B7793B}
@media(max-width:750px){.v8-qr-panel{grid-template-columns:1fr}.v8-map{height:510px}.v8-map-item{max-width:100px;min-width:76px;padding:7px;font-size:11px}.v8-map-item b{font-size:11px}}
@media print{.sidebar,.topbar,.page-header,.v8-qr-info,.footer{display:none!important}.main-area,.content,.shell{display:block!important;width:auto!important;margin:0!important;padding:0!important}.v8-qr-panel{display:block!important;border:0!important}.v8-print-label{margin:auto!important;max-width:320px}}

.v8-year-filter{display:flex;align-items:center;gap:10px;padding:18px 24px;border-bottom:1px solid #e2d9c6;flex-wrap:wrap}.v8-year-filter label{font-weight:750}.v8-year-filter select{min-width:145px}.v8-clutch-row:target{outline:3px solid #BF9B50;scroll-margin-top:95px}

/* NIDOVYA v10 — logo centrale compatto, anelli gabbie, registrazione e footer */
.topbar{position:relative;display:flex;align-items:center;justify-content:space-between}
.v10-top-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;padding:4px;background:#0b2946;border:2px solid #cba458;box-shadow:0 3px 13px #091d3730;overflow:hidden;display:flex;align-items:center;justify-content:center;z-index:2}
.v10-top-logo img{width:100%;height:100%;object-fit:cover;object-position:42% 45%;border-radius:50%;background:#0c2744}
.v10-top-logo:hover{outline:2px solid #cba458;outline-offset:2px}
.v10-auth-circle{width:88px;height:88px;margin:0 auto 14px;background:#0a2946;border:3px solid #cba458;border-radius:50%;padding:5px;overflow:hidden;box-shadow:0 5px 25px #0005}
.v10-auth-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:42% 46%}
.auth-topmark{justify-content:center;margin-bottom:24px}
.v10-auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v10-password-hint{font-size:12px;line-height:1.5;color:#b69c66;margin:6px 0 12px}
.v10-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;line-height:1.6;text-align:center;color:#6f7885}
.v10-footer a{color:#a47729;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.v10-footer-auth{margin:20px 0 0;font-size:11px;color:#e9dcbf;line-height:1.8}
.v10-footer-auth a{color:#f0c478}
.v10-ring-ids{display:flex;flex-direction:column;gap:4px;font-size:10px;border-top:1px solid #ffffff44;margin-top:5px;padding-top:5px;overflow-wrap:anywhere;line-height:1.45}
.v10-ring-ids span{display:block;color:#fff8e7}.v10-ring-ids em{font-style:normal;color:#fff1a7;font-weight:900}
.v8-map-cage:has(.v10-ring-ids){max-width:210px;min-height:72px;min-width:154px;z-index:3}
.v10-admin-panel{padding:20px;overflow-x:auto}
.v10-admin-table{border-collapse:collapse;width:100%;font-size:13px;min-width:770px;text-align:left}
.v10-admin-table td,.v10-admin-table th{padding:15px 12px;border-bottom:1px solid #e3e5e9;vertical-align:middle}
.v10-admin-table td small{display:block;font-size:11px;color:#6f7d8b;margin-top:3px}
.v10-admin-actions{display:flex;gap:7px;flex-wrap:wrap}
.v10-admin-actions form{margin:0}
.v10-user-status{display:inline-block;padding:6px 9px;border-radius:12px;background:#fff1d4;color:#8e611b;font-size:11px;font-weight:800}
.v10-user-status.approved{background:#e7f5e9;color:#246443}
.v10-admin-foot{font-size:12px;color:#6d7886;margin:15px 0 0}
@media(max-width:1100px){.v10-top-logo{width:52px;height:52px}.topbar-live{display:none}}
@media(max-width:750px){.v10-top-logo{width:45px;height:45px}.topbar-path{font-size:10px}.topbar-today{display:none}.v8-map-cage:has(.v10-ring-ids){min-width:125px;max-width:175px}.v10-ring-ids{font-size:9px}}
@media(max-width:425px){.v10-auth-name-grid{grid-template-columns:1fr}.topbar-path{display:none}.v10-top-logo{width:43px;height:43px}.v10-footer{font-size:10px}}

/* NIDOVYA — schede riproduttori, pulli e filtri anagrafica (locale v10.1) */
.nid-pair-birds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.nid-parent-card{background:rgba(22,42,60,.045);border:1px solid rgba(125,141,153,.25);border-radius:12px;padding:15px;min-width:0}
.nid-parent-heading{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.nid-sex-icon{font-size:24px;line-height:1}.nid-sex-icon.male,.nid-sex-symbol.male{color:#357fca}.nid-sex-icon.female,.nid-sex-symbol.female{color:#c55e95}.nid-sex-symbol.unknown{color:#7a858f}
.nid-parent-ring{font-size:14px;font-weight:800;overflow-wrap:anywhere;color:var(--gold,#b8904f)}
.nid-parent-card small{display:block;margin-top:4px}
.nid-parent-card dl{display:grid;grid-template-columns:74px 1fr;gap:6px 9px;margin:14px 0 0;font-size:13px}
.nid-parent-card dt{opacity:.65}.nid-parent-card dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.nid-clutch-chicks{border-top:1px solid rgba(125,141,153,.2);margin-top:20px;padding-top:18px}
.nid-clutch-chicks h3{font-size:17px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px}
.nid-chick-list{display:grid;gap:9px;margin-bottom:13px}
.nid-chick-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;background:rgba(125,141,153,.08);border-radius:9px;padding:10px 12px}
.nid-chick-item strong{display:block}.nid-chick-item small{display:block;margin-top:3px;opacity:.7}
.nid-chick-add{border:1px solid rgba(184,144,79,.4);border-radius:11px;padding:13px;margin-top:11px}
.nid-chick-add summary{cursor:pointer;font-weight:700;color:var(--gold,#b8904f)}
.nid-chick-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;align-items:end}
.nid-chick-form label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
.nid-chick-form input{width:100%;box-sizing:border-box;border:1px solid #adbac5;border-radius:8px;padding:10px;font-size:15px;background:var(--surface,#fff);color:inherit}
.nid-chick-form button{grid-column:1/-1;justify-self:start}
.nid-form-help{font-size:13px;opacity:.7;line-height:1.6;margin:10px 0}
.nid-chick-confirm{max-width:740px;margin:0 auto;padding:28px}
.nid-confirm-icon{font-size:34px;color:#30875f}.nid-confirm-reminder{border:1px solid #c89d54;background:rgba(205,157,79,.08);border-radius:10px;padding:13px 16px;margin:17px 0}
.nid-confirm-reminder strong{color:#a87522}.nid-confirm-reminder p{margin:7px 0 0;line-height:1.5}
.nid-reminder-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:13px 16px;border:1px solid #c89d54;border-radius:10px;background:rgba(205,157,79,.08);margin-bottom:18px}
.nid-reminder-banner strong{color:#a87522}.nid-reminder-banner span{flex:1;min-width:210px}
.nid-pending-profile{color:#a87522;font-weight:700}
.nid-bird-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.nid-bird-filters select{min-width:145px}
@media(max-width:680px){.nid-pair-birds{grid-template-columns:1fr}.nid-chick-form{grid-template-columns:1fr}.nid-chick-form button{width:100%}}

/* v10.2: schede Cove/Coppie condivise; nome account leggibile */
.v8-clutch-choice .nid-pair-birds{width:100%;margin:5px 0 9px;gap:9px}
.v8-clutch-choice .nid-parent-card{padding:13px 11px}
.v8-clutch-choice .nid-parent-ring{font-size:12px}
.v8-clutch-choice .nid-parent-card dl{font-size:12px;grid-template-columns:68px 1fr}
.v8-clutch-choice .nid-parent-heading{font-size:13px}
.nid-profile-prompt{font-size:12px;margin:6px 0 7px;color:#8a704b}
.nid-profile-prompt a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:840px){.v8-clutch-choice .nid-pair-birds{grid-template-columns:1fr}}


/* NIDOVYA v10.5 — anello identificativo FOI per annata (non pallino pieno).
   Le indicazioni cromatiche usano la stessa preferenza salvata in Anagrafica. */
.foi-year-ring{
  --ring-color:#B99A59;
  display:inline-block;flex:0 0 auto;vertical-align:middle;box-sizing:border-box;
  width:17px;height:17px;border:4px solid var(--ring-color);
  background:linear-gradient(135deg,#fff,#f1ebdd);border-radius:50%;
  box-shadow:inset 0 0 0 1px #8a7b593d,0 1px 3px #102a4140;
  position:relative;
}
.foi-year-ring::after{
  content:"";position:absolute;inset:-4px;pointer-events:none;border-radius:50%;
  border:1px solid transparent;border-top-color:#ffffffa8;border-left-color:#ffffff70;
}
.foi-year-ring.foi-ring-md{width:24px;height:24px;border-width:6px}
.foi-year-ring.foi-ring-md::after{inset:-6px}
.foi-year-ring.foi-ring-xl{width:48px;height:48px;border-width:12px}
.foi-year-ring.foi-ring-xl::after{inset:-12px}
/* Selezione genealogica: 2 filtri distinti, ma pedigree completo. */
.gene-pick-v105{display:grid;grid-template-columns:minmax(145px,210px) minmax(260px,1fr) auto;align-items:end;gap:12px}
.gene-pick-v105>div{min-width:0}
.gene-pick-v105 label{margin-bottom:8px}
.gene-pick-v105 select{width:100%;min-width:0;max-width:100%}
.gene-pick-v105 .btn{white-space:nowrap}
.gene-selector-hint{font-size:11px;color:#738197;margin:11px 0 0;line-height:1.5}
.gene-focus-identity{display:flex;gap:9px;align-items:flex-start}
.gene-focus-identity strong{font-size:17px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.pedigree-tree{grid-template-columns:repeat(4,minmax(225px,1fr));min-width:1000px}
.pedigree-node{min-height:104px;gap:5px;overflow:visible}
.pedigree-identification{display:flex;align-items:flex-start;gap:7px;font-size:10px;font-weight:780;color:#a67b32;line-height:1.45;overflow-wrap:anywhere}
.pedigree-identification>span:last-child{flex:1;min-width:0}
.pedigree-main .pedigree-identification{color:#f2d190}
.pedigree-node strong{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.pedigree-node small.pedigree-traits{font-size:10px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
@media(max-width:850px){.gene-pick-v105{grid-template-columns:minmax(0,1fr)}.gene-pick-v105 .btn{width:100%}}


/* NIDOVYA v10.6 — emblem centralizzato, curve luce comparate, schede complete. */
.brand-mark img,.v10-top-logo img,.v10-auth-circle img,.auth-mini-emblem{
  width:100%;height:100%;object-fit:contain;object-position:center center;
  transform:none;
}
.v10-top-logo,.brand-mark,.v10-auth-circle{display:flex;align-items:center;justify-content:center}
.gene-relationship-box{display:flex;gap:14px;align-items:flex-start;background:#f4f0e8;border:1px solid #ddc696;border-radius:13px;padding:18px 20px;margin:14px 0}
.gene-relationship-icon{font-size:24px;color:#ac8540}
.gene-relationship-box small{display:block;letter-spacing:1.2px;color:#9d772e;font-size:10px;font-weight:800;margin-bottom:7px}
.gene-relationship-box strong{display:block;color:#143351;font-family:Georgia,serif;font-size:20px}
.gene-relationship-box p{font-size:12px;color:#586b7b;line-height:1.7;margin:6px 0 0}
.gene-common b{color:#385571}
.solar-chart-legend{display:flex;flex-wrap:wrap;gap:16px;padding:8px 0 3px;font-size:12px;font-weight:700;color:#516780}
.solar-chart-legend span{display:inline-flex;align-items:center;gap:7px}
.solar-chart-legend i{height:4px;width:26px;border-radius:5px;display:inline-block}
.solar-legend-natural{background:#bd8e3d}.solar-legend-program{background:#2f87bb}
.solar-comparison-summary{display:flex;gap:11px;flex-wrap:wrap;margin-top:12px}
.solar-comparison-summary>div{background:#f7f3ea;border:1px solid #eee1c7;border-radius:11px;padding:11px 14px;flex:1;min-width:135px}
.solar-comparison-summary small{display:block;color:#a57d40;letter-spacing:.5px;font-size:10px;font-weight:800}
.solar-comparison-summary strong{display:block;color:#193d5c;margin-top:4px;font-size:17px}
.solar-light-alert{padding:10px 13px;margin-top:10px;background:#fff2de;color:#81531e;border:1px solid #e8cb91;border-radius:9px;font-size:12px}
.recent-list-v106 .recent-item{display:flex;align-items:center;gap:12px;min-width:0}
.recent-list-v106 .recent-ring{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f8f2e9}
.recent-list-v106 .recent-ring .foi-year-ring{width:24px;height:24px;border-width:6px}
.recent-list-v106 .recent-ring .foi-year-ring::after{inset:-6px}
.recent-list-v106 .recent-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.recent-list-v106 .recent-info b{font-size:12px;overflow-wrap:anywhere}
.recent-list-v106 .recent-info small{font-size:11px;line-height:1.4}
.recent-list-v106 .recent-right{font-size:10px;max-width:130px;text-align:right}
.recent-list-v106 .recent-sex{font-size:18px;color:#365f87;vertical-align:middle}
.recent-list-v106 .recent-sex.female{color:#b36b91}
@media(max-width:600px){.recent-list-v106 .recent-right{display:none}.gene-relationship-box{padding:14px}}
