:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#23342f;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{display:flex;min-height:100vh}.sidebar{width:244px;background:#162d29;color:#e7f3ed;display:flex;flex-direction:column;padding:30px 16px;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 48px}.brand strong{font-size:19px;letter-spacing:3px}.brand small{display:block;font-size:10px;color:#b1c2b8;margin-top:4px}.brand-symbol,.brand-mark{border:1px solid #729d84;color:#d7d7bc;width:41px;height:41px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:28px}.brand-symbol span,.brand-mark span{color:#99be89}.nav-label,.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#81a79a}.nav-label{padding:0 13px;margin-bottom:15px}#nav{display:flex;flex-direction:column;gap:5px}#nav button,.logout{width:100%;border:none;background:transparent;text-align:left;color:#b6c8be;padding:13px 15px;border-radius:9px;font-size:14px}#nav button span{margin-left:10px}#nav button.active,#nav button:hover{background:#315047;color:#fff}.sidebar-bottom{margin-top:auto;padding:12px;font-size:11px;color:#a9c7b5}.status-dot:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#79c496;margin-right:7px}.logout{margin-top:16px;padding-left:0}.workspace{flex:1;min-width:0}.topbar{height:116px;padding:28px 45px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ece8;background:#fff}.topbar h2{margin:7px 0 0;font-size:27px;font-weight:650;letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:22px}.date{font-size:12px;color:#80908a}.avatar{border-radius:50%;height:37px;width:37px;background:#dfebe1;color:#31584b;display:grid;place-items:center;font-weight:700}main{padding:38px 45px;max-width:1450px;margin:auto}.section-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}.section-header h3{font-size:19px;margin:0 0 6px;font-weight:680}.muted{color:#84928d;font-size:13px;margin:0}.primary,.secondary,.download{border:0;padding:11px 17px;border-radius:8px;font-size:13px;font-weight:650}.primary{background:#254f40;color:#fff}.primary:hover{background:#366c57}.secondary{background:#eaf0ec;color:#314b3c}.download{background:white;color:#325b4b;border:1px solid #d6e3da;text-decoration:none;display:inline-block}.button-row{display:flex;gap:9px;flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.kpi{background:white;border:1px solid #e8eeea;padding:24px;border-radius:12px;min-height:153px}.kpi .glyph{font-size:22px;color:#719e83}.kpi .num{font-size:36px;letter-spacing:-1px;font-weight:700;margin:15px 0 5px}.kpi .label{color:#7e9086;font-size:12px}.panels{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:25px}.panel{background:#fff;border:1px solid #e6ede8;border-radius:12px;padding:23px}.panel h4{margin:0 0 14px;font-size:16px}.panel p{font-size:13px;line-height:1.8;color:#75877c}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions button{background:#f2f7f3;border:1px solid #e2ede5;border-radius:9px;padding:16px;text-align:left;color:#35604c;font-weight:650}.table-box{background:white;border:1px solid #e7ede8;border-radius:12px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;text-align:left}th{background:#fafbfa;font-size:11px;color:#84948a;text-transform:uppercase;letter-spacing:.7px}td,th{padding:17px 21px;border-bottom:1px solid #edf1ee}tr:last-child td{border-bottom:0}td strong{color:#2b493a}.pill{background:#e9f2eb;color:#3e6e50;padding:5px 9px;border-radius:30px;font-size:11px}.empty{padding:45px 20px;text-align:center;color:#84938c}.search{padding:11px 14px;border:1px solid #dae7dd;border-radius:8px;background:white;min-width:230px}.modal{position:fixed;inset:0;background:#14231bb3;display:grid;place-items:center;padding:15px;z-index:10}.modal-panel{background:white;width:min(650px,100%);max-height:92vh;overflow:auto;border-radius:14px;padding:27px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.modal-head h3{margin:7px 0 0}.close{font-size:25px;background:none;border:none;color:#62776d}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label,.login-card label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:12px;color:#526a5b}.fields input,.fields select,.fields textarea,.login-card input{border:1px solid #dce6df;border-radius:8px;padding:11px;color:#23392b;width:100%;background:#fff;min-width:0}.fields label.wide{grid-column:1/-1}.fields textarea{resize:vertical;min-height:80px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.error{color:#ab3838;font-size:12px;min-height:14px}.login-screen{min-height:100vh;background:#132c28;display:grid;place-items:center;padding:20px}.login-card{background:white;width:min(420px,100%);text-align:center;padding:46px;border-radius:17px;box-shadow:0 30px 80px #0003}.brand-mark{margin:0 auto 18px;color:#315747;border-color:#b1c6b5}.login-card h1{letter-spacing:5px;margin:0}.login-card p{color:#7e9184;font-size:13px}.login-card form{text-align:left;margin:34px 0 16px}.login-card input{margin:6px 0 15px}.full{width:100%}.login-card small{color:#9daa9e}.toast{position:fixed;bottom:25px;right:25px;background:#244f40;color:#fff;padding:13px 20px;border-radius:9px;z-index:20;box-shadow:0 9px 25px #0002}.mobile-nav{display:none}@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.panels{grid-template-columns:1fr}.topbar{padding:25px}.workspace main{padding:25px}}@media(max-width:700px){.sidebar{display:none}.app{display:block;padding-bottom:74px}.topbar{height:90px;padding:18px}.topbar h2{font-size:22px}.date{display:none}.workspace main{padding:19px}.kpi-grid{gap:10px}.kpi{padding:18px;min-height:124px}.kpi .num{font-size:30px}.section-header{align-items:flex-start;flex-direction:column}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 20px #0001;z-index:3;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{padding:17px 2px;background:none;border:0;font-size:11px;color:#456353}.mobile-nav button.active{font-weight:800;color:#173f2c;border-top:3px solid #285942}.fields{grid-template-columns:1fr}.fields label.wide{grid-column:auto}.header-right{gap:0}.search{min-width:0;width:100%}.button-row{width:100%}.modal-panel{padding:19px}} 

/* Costa & Zoppé V2 */
.sidebar-logo{width:67px;height:65px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 8px #0003)}
.brand{gap:9px;padding:0 6px 35px}.brand strong{font-size:15px;letter-spacing:2px}.brand small{font-size:10px}
.login-logo{width:min(330px,100%);height:130px;object-fit:contain;margin:0 auto 10px}
.search-panel{background:#fff;border:1px solid #dce9de;padding:23px 25px;border-radius:12px;margin:0 0 22px}
.search-panel h4{margin:0 0 13px}.search-panel .search{width:100%;font-size:14px}.search-results{margin-top:14px;overflow:auto}
.report-line{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #edf1ed;font-size:13px}
.report-line:last-child{border-bottom:0}.panel+.panel{margin-top:15px}.mobile-nav{overflow-x:auto}
@media(max-width:700px){.report-line{align-items:flex-start;flex-direction:column}.mobile-nav{grid-template-columns:repeat(6,minmax(62px,1fr))}.brand strong{font-size:14px}}

.report-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px;margin:18px 0}.report-filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#354b41}.report-filters select{padding:12px;border:1px solid #cbd8d0;border-radius:8px;background:#fff;max-width:100%;color:#243b33}

/* VIVEIRO 0.4 - seleção de aves por recinto */
.assignment{background:#f6f9f7;border:1px solid #dce8df;border-radius:10px;padding:15px;grid-column:1/-1}
.assignment h4{font-size:15px;margin:0 0 7px}.assignment p{line-height:1.5;margin:7px 0 12px}
.assignment .picker-search{width:100%;margin:4px 0 10px}
.bird-picker{max-height:230px;overflow-y:auto;border:1px solid #dce6df;border-radius:8px;background:white}
.fields .bird-choice{display:flex;flex-direction:row;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid #edf1ee;cursor:pointer}
.fields .bird-choice:last-child{border-bottom:0}.fields .bird-choice input{width:17px;height:17px;flex:0 0 auto}
.bird-choice span{display:block}.bird-choice small{display:block;font-size:11px;font-weight:400;color:#6a7f73;margin-top:3px;line-height:1.4}
.fields .pair-option{display:flex;flex-direction:row;align-items:center;gap:10px;padding:13px 0 5px;font-size:13px}
.fields .pair-option input{width:17px;height:17px;flex:0 0 auto}

/* VIVEIRO 0.6 — cadastro de recinto diretamente no formulário da ave */
.inline-recinto{grid-column:1/-1;border:1px solid #c9ddd0;background:#f3f8f4;border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:10px}
.inline-recinto strong{font-size:13px;color:#214d37}
.inline-recinto p{margin:0}
.inline-recinto-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.inline-recinto-grid{grid-template-columns:1fr}}

/* VIVEIRO 0.7 — resultados editáveis da busca inicial */
.quick-result-group{border:1px solid #e1e8e3;border-radius:10px;background:#fff;margin-top:12px;overflow:hidden}
.quick-result-group h5{padding:12px 14px;margin:0;background:#f4f7f5;color:#2d5547;font-size:13px}
.quick-result-group>p{padding:4px 14px}
.quick-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid #edf0ec}
.quick-result-row strong{font-size:14px}
.quick-result-row small{display:block;font-size:12px;color:#75857b;margin-top:5px}
.quick-result-row button{white-space:nowrap}
@media(max-width:560px){.quick-result-row{align-items:flex-start;flex-direction:column}.quick-result-row button{width:100%}}

/* VIVEIRO 0.8: ficha de ocupação do recinto */
.recinto-current{border:1px solid #cbded2;background:#f6faf7;border-radius:12px;padding:16px;margin-bottom:12px}
.recinto-current-title{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#25543d}
.recinto-current-title span{font-size:12px;color:#557464}
.recinto-current-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #dce9e1}
.recinto-current-item small{display:block;color:#657b6e;margin-top:3px}
.recinto-current>a.download{display:inline-block;margin-top:10px}
@media(max-width:540px){.recinto-current-title,.recinto-current-item{align-items:flex-start;flex-direction:column}}

/* VIVEIRO 0.9 — pesquisa manual por campo */
.quick-search-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;margin-top:14px}
.quick-search-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#40584c}
.quick-search-form input{width:100%;min-width:0}
.quick-search-actions{grid-column:1/-1;display:flex;gap:10px;justify-content:flex-start}
.quick-search-actions button{min-width:110px}
@media(max-width:760px){.quick-search-form{grid-template-columns:1fr}.quick-search-actions button{flex:1}}
