:root{font-family:Segoe UI,system-ui,sans-serif;color:#243b33;background:#f5f6f1;font-size:16px;--green:#173f35;--line:#e1e6dd;--muted:#64746a}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--green);border-radius:8px;background:var(--green);color:white;padding:13px 22px;min-height:48px;font-weight:600;cursor:pointer;display:inline-block}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:var(--green);border-color:#c6d2c8}.text-button{background:none;border:0;color:var(--green);padding:8px}.shell{display:flex;min-height:100vh}.sidebar{width:236px;background:#eaf0e6;border-right:1px solid var(--line);padding:36px 24px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{font-size:30px;font-weight:700;display:flex;align-items:center;gap:9px;letter-spacing:-1px}.brand-icon{font-size:22px;background:var(--green);color:#eaf0e6;border-radius:10px;padding:5px 12px;letter-spacing:0}.brand-dot{color:#9aaf70;margin-left:-8px}.nav-label{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#7b897b;margin:58px 12px 16px}nav{display:grid;gap:8px}nav a{padding:15px 16px;border-radius:8px;font-weight:600;display:flex;gap:14px;align-items:center}nav a.active{background:var(--green);color:white}nav a span{font-size:23px;line-height:1}.sidebar-foot{margin-top:auto;font-size:13px;padding:24px 10px 0}.sidebar-foot p{font-size:12px;color:var(--muted);line-height:1.8}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#71905c;margin-right:6px}.workspace{margin-left:236px;width:calc(100% - 236px)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center;padding:0 48px;font-size:13px;background:#fbfcf8}.topbar>span:first-child{margin-right:auto;color:var(--muted)}main{max-width:1350px;margin:auto;padding:42px 48px 64px}h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1.5px;line-height:1.15;margin:8px 0 14px;font-weight:650}h2{font-size:21px;letter-spacing:-.5px;margin:0 0 18px}h3{font-size:16px;margin:8px 0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#72846b;margin:0 0 12px}.muted{color:var(--muted);line-height:1.6;font-size:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading p:last-child{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;margin-bottom:30px}.stats>div,.stats>a{padding:24px 28px;border-right:1px solid var(--line)}.stats>:last-child{border:0}.stats span,.stats small{display:block;font-size:13px;color:var(--muted)}.stats strong{display:block;font-size:40px;line-height:1.4;font-weight:600;letter-spacing:-1.5px}.stats>a{background:#f0f3e9}.panel{border:1px solid var(--line);border-radius:12px;background:#fff;padding:26px;margin:0 0 24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading h2{margin:0}.badge{display:inline-block;background:#f0f2ed;color:#62705f;font-size:11px;padding:6px 10px;border-radius:5px;white-space:normal}.badge.green{background:#edf4e9;color:#426537}.badge.amber{background:#fcf0d8;color:#886116}.badge.gray{color:#777}.search-row{display:flex;align-items:center;gap:10px}.search{flex:1}.search input{background:#fafbf8}.check{display:flex;gap:8px;align-items:center;font-size:13px;white-space:nowrap;min-height:48px}.check input{width:18px;height:18px;min-height:18px;accent-color:var(--green)}input,select,textarea{width:100%;border:1px solid #cdd6cb;border-radius:7px;padding:12px 14px;min-height:48px;color:#243b33;background:white}textarea{resize:vertical}label{display:block;font-size:13px;font-weight:600}label>input,label>select,label>textarea{margin-top:7px}.search input,.check input{margin-top:0}.list-meta{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:10px;margin:20px 0}.animal-row{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);padding:18px 2px;min-height:88px}.animal-row:hover{background:#f8faf5}.animal-code{font-variant-numeric:tabular-nums;font-size:16px;min-width:74px;font-weight:700;background:#f0f3eb;padding:12px 8px;border-radius:7px;text-align:center}.animal-name{flex:1}.animal-name strong{font-size:15px}.animal-name small{display:block;font-size:12px;letter-spacing:.4px;color:var(--muted);margin-top:6px}.animal-date{font-size:11px;color:var(--muted);line-height:1.6}.animal-date strong{font-weight:500;font-size:12px}.arrow{font-size:20px;padding:8px}.empty{padding:42px 20px;text-align:center;color:var(--muted);line-height:1.6}.empty h3{color:var(--green);font-size:20px}.back{display:inline-block;margin-bottom:24px;font-size:14px;min-height:32px}.source{font-size:13px;text-align:right;line-height:1.7}.source small{color:var(--muted);font-size:11px}.details{display:flex;flex-wrap:wrap;gap:28px}.details div{flex:1;min-width:130px}.details span{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}.details strong{font-size:15px;overflow-wrap:anywhere}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}.action-grid button{text-align:left;padding:24px;line-height:1.7}.action-grid strong{display:block;font-size:18px;letter-spacing:.5px}.action-grid span{font-size:13px;font-weight:400}.signal{background:#f6ecd3;border-color:#ddcd9f;color:#6b541e}.stack{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.buttons{display:flex;gap:12px}.activity-line{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:16px 0;font-size:13px}.activity-line div{flex:1}.activity-line p{margin:5px 0}.history-row{display:flex;gap:18px;border-top:1px solid var(--line);padding:22px 0}.history-row small{color:var(--muted);font-size:12px}.history-row p,.task-card p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;font-size:14px}.timeline-dot{flex-shrink:0;width:9px;height:9px;background:#97ac7a;border-radius:50%;margin-top:5px}.task-card{border-top:1px solid var(--line);padding:24px 0}.task-top{display:flex;justify-content:space-between;gap:12px}.notice{padding:16px 20px;margin:20px 0;border-radius:8px;font-size:14px}.success{background:#e8f3e4;color:#35592d}.error{background:#fbeae5;color:#92371f}.login-panel{max-width:480px;margin:6vh auto;padding:32px}.login-panel form{margin-top:30px}footer{color:#8a9588;font-size:10px;letter-spacing:1px;padding:0 48px 24px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid #b29336;outline-offset:3px}#blazor-error-ui{display:none;background:#f8e3dc;position:fixed;bottom:0;padding:16px;width:100%;z-index:100}#connection-status{background:#f8edca;color:#644e16;position:fixed;bottom:0;padding:16px;width:100%;z-index:100}.reconnect-dialog{border:0;border-radius:12px;padding:30px;max-width:90vw}.reconnect-dialog::backdrop{background:#173f3580}
@media(max-width:1050px){.sidebar{width:190px;padding:28px 16px}.workspace{margin-left:190px;width:calc(100% - 190px)}main{padding:30px 26px}.topbar{padding:0 26px}.animal-date{display:none}.search-row{flex-wrap:wrap}.search{min-width:60%}.page-heading{align-items:flex-start;flex-direction:column}.source{text-align:left}}
@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:100%;padding:16px 18px 10px;border-right:0}.brand{font-size:24px}.brand-icon{font-size:18px}.nav-label,.sidebar-foot{display:none}nav{display:flex;gap:5px;margin-top:18px}nav a{flex:1;justify-content:center;padding:12px 8px;font-size:13px;min-height:48px}nav a span{font-size:19px}.workspace{margin:0;width:100%}.topbar{height:54px;padding:0 18px;gap:10px;font-size:11px}.topbar>span:first-child{display:none}.topbar>span{margin-right:auto}main{padding:26px 16px 40px}h1{font-size:32px}.page-heading{gap:16px;margin-bottom:24px}.page-heading button{width:100%}.stats{margin-bottom:24px}.stats>div,.stats>a{padding:18px 12px}.stats strong{font-size:32px}.stats span,.stats small{font-size:11px}.panel{padding:18px 14px}.section-heading{align-items:flex-start;flex-wrap:wrap}h2{font-size:20px}.search-row button{padding:12px 16px}.search{min-width:55%}.list-meta{flex-direction:column;font-size:11px}.animal-row{gap:12px;padding:16px 0;flex-wrap:wrap}.animal-code{min-width:65px;font-size:14px;padding:11px 6px}.animal-name strong{font-size:14px}.animal-name small{font-size:10px}.animal-row .badge{font-size:10px;padding:5px}.arrow{display:none}.action-grid{grid-template-columns:1fr;gap:12px}.action-grid button{padding:20px}.details{gap:22px}.buttons{flex-wrap:wrap}.buttons button{flex:1}.source{font-size:12px}.activity-line{flex-wrap:wrap}.login-panel{margin:0;padding:20px 10px}footer{padding:0 18px 22px}.history-row{gap:12px}.task-top{flex-wrap:wrap}}

/* Navigazione operativa e controlli touch */
.quick-grid,.queue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.quick-grid a{display:flex;flex-direction:column;gap:10px;padding:26px;background:#fff;border:1px solid #dde1d6;border-radius:18px;text-decoration:none;color:#243c2c;min-height:112px}.quick-grid strong{font-size:1.2rem}.quick-grid span{color:#657164}.queue-grid{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.queue-grid button{min-height:68px}.animal-choice{display:block;width:100%;text-align:left;margin:10px 0}.programmazione{padding:18px;background:#f1f4ed;border-radius:12px;margin-bottom:20px}summary{cursor:pointer;min-height:44px;line-height:1.6;padding:8px 0}.session-heading{margin-top:30px}.task-card>button{margin:12px}.search-row>input{flex:1;min-width:0}input,select,button{min-height:48px}.task-top{flex-wrap:wrap}input[type=checkbox]{min-height:24px;min-width:24px}html{scroll-behavior:smooth}
@media(max-width:760px){.quick-grid{gap:10px}.quick-grid a{padding:18px}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#f9faf7;border-top:1px solid #d8decf;padding:5px 4px max(7px,env(safe-area-inset-bottom));gap:0}.sidebar nav a{display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:10px;padding:5px 0;min-height:56px;color:#334b37}.sidebar nav a>span:first-child{font-size:18px}.sidebar nav .badge{position:absolute;transform:translate(23px,-19px);font-size:10px;padding:2px 5px}.workspace{padding-bottom:88px}.sidebar .nav-label,.sidebar-foot{display:none}.queue-grid{grid-template-columns:1fr 1fr}.queue-grid button{padding:10px;font-size:13px}.quick-grid strong{font-size:1rem}}
@media print{.sidebar,.topbar,footer,.no-print,#blazor-error-ui{display:none!important}.shell,.workspace{display:block!important;margin:0!important;padding:0!important}main{padding:0!important}.panel{border:0;box-shadow:none;padding:0}.history-row{break-inside:avoid}body{background:#fff;color:#000}}

.sidebar nav a.active{color:#fff}.sidebar nav a.active .badge{color:#243c2c}

.sialleva-detail{border-bottom:1px solid #e1e6dd;padding:8px 0}.import-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;font-size:13px}.import-fields dt{color:#64746a}.import-fields dd{margin:0;overflow-wrap:anywhere}

.animal-search{position:relative;margin:20px 0;z-index:5}.animal-search .search-row{margin:0;align-items:end}.animal-search label{display:flex;flex-direction:column;gap:8px}.animal-search .search{flex:1}.search-suggestions{background:white;border:1px solid #c6d8d2;border-radius:0 0 16px 16px;box-shadow:0 12px 24px #183f3520;max-height:360px;overflow:auto}.search-suggestions button{display:flex;width:100%;justify-content:space-between;gap:16px;text-align:left;border:0;border-radius:0;border-bottom:1px solid #e5eeea;padding:16px}.search-suggestions p{padding:16px}.report-catalog{margin:32px 0}.report-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-buttons a{display:flex;justify-content:space-between;align-items:center;min-height:80px;text-align:left;padding:20px;border-radius:16px}.report-buttons a:hover{background:#e2efe9;border-color:#226455}@media(max-width:650px){.report-buttons{grid-template-columns:1fr}.animal-search .search-row{display:flex;flex-direction:column;align-items:stretch}.search-suggestions button{flex-wrap:wrap}}

.analysis-figure{margin:24px 0;padding:20px;background:#f2f7f4;border-radius:18px;overflow-x:auto}.analysis-figure figcaption{font-weight:700;margin-bottom:12px}.analysis-figure svg{width:100%;height:auto;min-height:200px}.chart-label{font-size:14px;fill:#375b50}@media(max-width:650px){.analysis-figure svg{min-width:640px}.chart-label{font-size:17px}}@media print{.analysis-figure{break-inside:avoid;overflow:visible}.analysis-figure svg{min-width:0}}
.consult-intro{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0;align-items:baseline}.consult-intro strong{font-size:1.6rem}.consult-intro small{flex-basis:100%}.consult-index{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.consult-index a{font-size:.85rem;padding:8px 12px;border:1px solid #d4dfdf;border-radius:8px;background:white}.consult-sheet{background:#fff;border:1px solid #d5dfe5;border-radius:14px;overflow:hidden;margin:24px 0 40px;scroll-margin-top:20px;box-shadow:0 8px 30px #163c3210}.consult-sheet header{background:#1a2b58;color:white;padding:22px 30px;display:flex;gap:20px;align-items:center;justify-content:space-between}.consult-sheet header h2{color:white;font-size:1.65rem;margin:0}.consult-sheet header span{background:#efde6e;color:#1c2b50;padding:6px 14px;border-radius:4px;font-weight:700;white-space:nowrap}.consult-chart{margin:22px 25px}.consult-chart svg{width:100%;height:auto;max-height:440px;display:block}.consult-chart svg text{font-family:Arial,sans-serif;font-size:13px;fill:#34485c}.consult-chart figcaption{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-size:.85rem}.consult-chart figcaption i{display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:2px}.consult-sheet .report-table-wrap{margin:16px 25px}.consult-sheet table{font-size:.82rem}.consult-sheet th,.consult-sheet td{padding:9px 12px}.consult-sheet th{background:#edf0f6;color:#192d54}.consult-sheet tbody tr:nth-child(even){background:#f8fafc}.consult-sheet td:not(:first-child){font-variant-numeric:tabular-nums}.consult-method{margin:16px 25px;font-size:.83rem;color:#5a6774}.consult-method p{max-width:1000px}.consult-sheet footer{border-top:2px solid #cb3657;padding:12px 25px;display:flex;justify-content:space-between;font-size:.75rem;color:#627084}.consult-sheet .empty{padding:12px 25px}
@media(max-width:650px){.consult-sheet header{padding:18px;display:block}.consult-sheet header h2{font-size:1.25rem;margin-bottom:12px}.consult-sheet header span{display:inline-block;white-space:normal}.consult-chart{margin:16px 6px}.consult-chart svg{min-width:580px}.consult-chart{overflow-x:auto}.consult-sheet .report-table-wrap{margin:12px}.consult-sheet footer{padding:12px}.consult-intro strong{font-size:1.25rem}}
@media print{@page{size:A4 landscape;margin:12mm}.consult-index,.consult-intro{display:none}.consult-sheet{border:0;box-shadow:none;border-radius:0;margin:0;break-before:page;break-inside:auto;print-color-adjust:exact;-webkit-print-color-adjust:exact}.consult-sheet header{padding:10px 18px;break-after:avoid}.consult-sheet header h2{font-size:19pt}.consult-chart{margin:8px 10px;break-inside:avoid}.consult-chart svg{max-height:82mm;min-width:0}.consult-sheet .report-table-wrap{overflow:visible;margin:8px 10px}.consult-sheet table{font-size:8pt;min-width:0!important;width:100%}.consult-sheet th,.consult-sheet td{padding:4px 7px;white-space:normal}.consult-sheet tr{break-inside:avoid}.consult-sheet thead{display:table-header-group}.consult-method{font-size:8pt;margin:8px 10px}.consult-sheet footer{padding:6px 10px}.consult-sheet header span{font-size:10pt}.consult-chart figcaption{font-size:8pt}}
.consult-sheet .report-table th,.consult-sheet .report-table td{padding:9px 12px}.consult-sheet .report-table th{background:#edf0f6;color:#192d54}.consult-print-method{display:none}
@media print{.consult-sheet .report-table th,.consult-sheet .report-table td{padding:3px 6px;white-space:normal;font-size:8pt;line-height:1.15}.consult-chart svg{max-height:65mm}.consult-sheet .consult-method{display:none}.consult-print-method{display:block;font-size:7pt;line-height:1.3;margin:6px 10px;color:#566475}.consult-sheet footer{font-size:7pt;letter-spacing:0}.consult-sheet .report-table-wrap{overflow:visible}}
@media print{body:has(.consult-sheet) .shell,body:has(.consult-sheet) .workspace,body:has(.consult-sheet) main{width:100%!important;max-width:none!important;min-height:0!important;background:white!important}body:has(.consult-sheet) .consult-sheet footer{display:flex!important}.consult-sheet{overflow:visible!important}}
@media print{.consult-chart svg{max-height:85mm}.consult-sheet .consult-method{display:block;font-size:7pt;line-height:1.25;margin:6px 10px}.consult-method summary{display:none}.consult-method p{margin:0}}
@media print{html:has(.consult-sheet){background:white!important}.consult-chart svg{max-height:70mm}body:has(.consult-sheet) .consult-sheet footer{display:none!important}.consult-sheet .consult-method{font-size:7pt}}
.consult-sheet .report-table-wrap{max-height:520px;overflow:auto}.consult-sheet .report-table th{position:sticky;top:0;z-index:1}
@media print{.consult-sheet .report-table-wrap{max-height:none;overflow:visible}.consult-sheet .report-table th{position:static}}
.report-farm{display:block;font-size:.65em;font-weight:400;margin-bottom:6px}.topbar{height:auto;min-height:76px;flex-wrap:wrap;gap:12px}.topbar>a{overflow-wrap:anywhere}
.accesso-header{padding:24px 5vw;background:#eaf0e6}.accesso-main{padding:32px 24px;max-width:1100px;margin:auto}.accesso-panel{max-width:960px;margin:0 auto;padding:16px 0}.accesso-panel h1{font-size:clamp(32px,5vw,52px);line-height:1.1}.accesso-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 16px}.accesso-blocco{border:1px solid var(--line);border-radius:16px;padding:24px;background:white}.accesso-blocco h2{font-size:23px;margin:12px 0}.accesso-blocco p{min-height:56px;color:var(--muted);line-height:1.5}.accesso-blocco label{display:block;margin:18px 0 0}.accesso-blocco input{width:100%;margin-top:8px}.accesso-panel form>button{width:100%;margin-top:12px}@media(max-width:700px){.accesso-main{padding:24px 16px}.accesso-grid{grid-template-columns:1fr;gap:16px}.accesso-blocco{padding:20px}.accesso-blocco p{min-height:0}.accesso-header{padding:18px 24px}}

/* BoviOS identity */
.brand .bovios-logo{display:block;width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}.sidebar .brand{background:transparent;padding:8px;max-width:220px}.accesso-header .brand{width:min(440px,85vw);background:transparent;padding:12px}.accesso-header{height:auto;min-height:100px}@media(max-width:650px){.sidebar .brand{width:200px}.accesso-header .brand{width:min(340px,90vw)}}
