:root{--green:#176349;--deep:#123e32;--lime:#d2e7a9;--ink:#20372d;--muted:#687b70;--line:#dfe7e1;--paper:#fff;--surface:#f5f8f5;--warm:#99622e;--radius:12px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a,button{transition:background .15s,border-color .15s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #77b89a;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.2px;font-weight:600;line-height:1.2}h2{font-size:23px;line-height:1.3;font-weight:600;letter-spacing:-.4px}h3{font-size:16px;font-weight:600}svg{flex-shrink:0;vertical-align:middle}form{margin:0}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:1.8px;color:#b8d0c1;margin-bottom:20px}.green{color:#567460}.brand{display:inline-flex;align-items:center;gap:12px;font-size:27px;font-weight:700;letter-spacing:-.8px;white-space:nowrap}.brand-symbol{width:44px;height:44px;border:1px solid #d9e5dd;display:grid;place-items:center;border-radius:12px}.brand-light{font-weight:400}.brand-dot{color:#94bb64}.skip-link{position:absolute;left:16px;top:-100px;background:var(--deep);color:#fff;padding:12px;z-index:10}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{border:1px solid transparent;border-radius:8px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;font-size:14px;font-weight:600;min-height:46px;text-align:center;line-height:1.4}.button:hover{background:#104e39}.button-outline{background:#fff;border-color:var(--line);color:var(--ink)}.button-outline:hover{background:#edf4ee;border-color:#b9d1c1}.button-small{padding:9px 13px;min-height:40px}.button-wide{width:100%;justify-content:space-between}.text-link{color:var(--green);font-size:14px}.field{display:block;margin-bottom:19px}.field>span{display:block;font-size:14px;font-weight:500;margin-bottom:7px}.field small{color:var(--muted);font-size:13px;font-weight:400}.field input,.field select,.field textarea,.search-form input{display:block;width:100%;min-height:46px;padding:11px 12px;border:1px solid #d8e3da;border-radius:7px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;min-width:0}.field textarea{resize:vertical;min-height:100px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#a8bfb0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-hint{color:var(--muted);font-size:13px;line-height:1.6;margin:12px 0 22px}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.notice{padding:14px 16px;font-size:14px;border:1px solid;border-radius:8px;margin:0 0 22px;overflow-wrap:anywhere;line-height:1.6}.notice a{text-decoration:underline}.notice-error{color:#85392d;border-color:#edd7d0;background:#fff4f0}.notice-success{background:#eaf4ed;color:#245e3e;border-color:#cde2d3}.notice-info{background:#f0f4ec;color:#516647;border-color:#dfe7d7}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}.card>h2+.muted,.card>h1+.muted{margin-top:9px}.card>form{margin-top:26px}.site-footer{max-width:1280px;margin:30px auto 0;padding:25px 36px;display:flex;justify-content:space-between;gap:20px;color:#788b7d;font-size:12px;border-top:1px solid var(--line)}
/* Logowanie — ciemna zieleń i jasny panel z dostarczonego wzorca. */
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.login-story{padding:46px 9%;background:var(--deep);color:#fff;display:flex;flex-direction:column}.login-story .brand-symbol{border-color:#ffffff30}.story-content{padding:60px 0;margin:auto 0}.story-content h1{font-size:clamp(42px,4.3vw,68px);font-weight:500;line-height:1.08;letter-spacing:-2.5px}.story-content h1 em{font-family:Georgia,serif;color:var(--lime);font-weight:400}.story-description{font-size:17px;line-height:1.7;color:#c1d3c8;margin:27px 0 34px}.plan-preview{max-width:440px;padding:21px;border:1px solid #ffffff25;border-radius:14px;background:#ffffff06}.preview-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;margin-bottom:22px}.preview-title>span:first-child{display:flex;gap:9px;align-items:center}.preview-label{font-size:11px;letter-spacing:1px;color:#abc5b5}.preview-event{display:flex;gap:14px;align-items:center}.date-tile{border:1px solid #ffffff25;border-radius:8px;padding:6px 12px;text-align:center}.date-tile>span{font-size:11px;color:#bed2c5}.date-tile>strong{display:block;font-size:25px;line-height:1.2}.preview-event>div:nth-child(2){font-size:14px;flex:1}.preview-event>div:nth-child(2)>span{display:block;color:#b4cbbc;font-size:12px;margin-top:5px}.preview-status{font-size:12px;background:#d2e7a916;color:var(--lime);padding:5px 7px;border-radius:5px}.preview-footer{border-top:1px solid #ffffff18;padding-top:15px;margin-top:20px;font-size:12px;color:#b6cdbd;display:flex;gap:8px;align-items:center}.story-bottom{display:flex;align-items:center;gap:10px;font-size:12px;color:#b2cbbb}.login-entry{background:#fff;padding:46px 9% 28px;display:flex;flex-direction:column}.entry-top,.entry-bottom{display:flex;justify-content:space-between;gap:15px;color:#788b7d;font-size:12px}.entry-top{font-size:11px;letter-spacing:1.5px}.login-form-wrap{max-width:400px;width:100%;margin:auto;padding:48px 0}.login-symbol{display:grid;place-items:center;width:54px;height:54px;background:#eff5ef;border:1px solid #e0eade;border-radius:14px;color:var(--green);margin-bottom:25px}.login-form-wrap .eyebrow{margin-bottom:13px}.login-form-wrap h2{font-size:39px;line-height:1.15;font-weight:550;letter-spacing:-1.5px}.intro{line-height:1.7;margin:19px 0 28px}.login-form .button{margin-top:4px;min-height:52px}.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#788b7d;margin:16px 0 28px}.access-note{border-top:1px solid var(--line);padding-top:24px;font-size:14px}.access-note>strong{font-weight:600}.access-note>p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:7px}.access-note a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
/* Panel aplikacji. */
.app-header{background:#fff;border-bottom:1px solid var(--line)}.header-main{max-width:1352px;padding:24px 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.account{display:flex;align-items:center;gap:22px}.account>div{text-align:right;font-size:14px}.account strong{font-weight:500}.account span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.app-nav{max-width:1280px;margin:auto;display:flex;align-items:center;gap:10px;padding:0 0 14px}.app-nav>a{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:7px;font-size:14px;color:#6b7e70}.app-nav>a:hover{background:#f4f7f2}.app-nav>a[aria-current]{background:#e9f2eb;color:var(--green);font-weight:600}.version{margin-left:auto;font-size:11px;letter-spacing:1.1px;color:#84948a}.workspace{max-width:1352px;margin:auto;padding:38px 36px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:10px}.page-heading .muted{font-size:14px;margin-top:10px}.back-link{display:inline-block;color:#6d8274;font-size:14px;margin-bottom:24px}.back-link:hover{color:var(--green)}.count-label{border:1px solid var(--line);background:#fff;border-radius:30px;padding:7px 16px;color:var(--muted);font-size:14px}.herd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.herd-card{transition:border-color .15s,background .15s}.herd-card:hover{border-color:#99b7a4;background:#fcfefb}.herd-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#edf4ec;color:var(--green);flex-shrink:0}.herd-card>.herd-symbol{margin-bottom:24px}.herd-card>h2{margin-bottom:20px;overflow-wrap:anywhere}.herd-card>p{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;overflow-wrap:anywhere}.herd-card>p>span{font-size:12px;color:var(--muted)}.herd-card>p>strong{font-size:14px;font-weight:500}.card-link{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--green);font-weight:600}.empty-state{text-align:center;padding:55px 25px}.empty-symbol{display:grid;place-items:center;color:var(--green);width:64px;height:64px;background:#edf4ec;border-radius:16px;margin:0 auto 23px}.empty-state>p{color:var(--muted);max-width:480px;margin:12px auto 24px;font-size:15px}.empty-state h2{font-size:24px}.add-herd{max-width:780px;margin-top:30px;scroll-margin-top:24px}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:24px}.section-heading .muted{font-size:14px;margin-top:5px}.admin-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:26px;align-items:start}.admin-layout .card>.muted{font-size:14px}.account-list>h2{margin-bottom:25px}.account-row{border-top:1px solid var(--line);padding:24px 0}.account-row:last-child{padding-bottom:0}.account-row-top{display:flex;gap:14px;align-items:center}.avatar{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#edf3ee;border:1px solid #e1e9e2;border-radius:50%;font-size:17px;color:#4e7159}.account-details{flex:1;min-width:0;overflow-wrap:anywhere}.account-details>p{font-size:14px;color:var(--muted);margin-top:4px}.account-meta{font-size:13px;color:var(--muted);margin:12px 0 0}.account-actions{display:flex;align-items:flex-start;gap:16px;margin-top:17px;flex-wrap:wrap}.password-reset{font-size:14px;max-width:100%}.password-reset>summary{padding:10px 0;cursor:pointer;color:var(--green);list-style-position:inside}.password-reset>form{padding-top:12px;width:270px;max-width:100%}.password-reset .field{margin-bottom:12px}.badge{font-size:12px;white-space:nowrap;padding:5px 9px;border-radius:5px;display:inline-flex;align-items:center;font-weight:500;flex-shrink:0}.badge-planned{background:#e8f2e9;color:#2f6848}.badge-late{background:#fff0e4;color:#935c2b}.badge-done{background:#eef1f0;color:#677970}.auth-shell{max-width:610px;margin:40px auto;padding:24px}.auth-shell>.brand{margin-bottom:30px;color:var(--deep)}.auth-shell .card>h1{font-size:30px}.auth-shell .card>.muted{margin-bottom:25px}.auth-shell .eyebrow{margin-bottom:12px}.narrow-workspace{max-width:850px}
/* Kalendarz i formularz terminu. */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 25px}.stat>span{font-size:14px;color:var(--muted);display:block;margin-bottom:8px}.stat>strong{font-size:32px;font-weight:500}.number-warm{color:var(--warm)}.calendar-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px}.month-navigation{display:flex;gap:13px;align-items:center}.month-navigation>h2{font-size:20px;text-align:center;min-width:175px}.square-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;width:34px;height:36px;font-size:24px;color:#5d7566}.square-button:hover{background:#edf4ee}.search-form{display:flex;gap:8px}.search-form input{font-size:14px;min-height:40px;width:220px;padding:9px 11px}.view-switch{display:flex;background:#f2f5f2;padding:4px;border-radius:7px;gap:4px}.view-switch a{padding:7px 11px;border-radius:5px;font-size:14px;color:var(--muted)}.view-switch a[aria-current]{background:#e2ede4;color:var(--green);font-weight:600}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:735px}.weekdays{background:#f8faf7;border-block:1px solid var(--line)}.weekdays>span{font-size:12px;padding:12px;text-align:right;color:#718575}.calendar-scroll{overflow-x:auto}.calendar-day{min-height:135px;padding:8px;border-right:1px solid #e7ede8;border-bottom:1px solid #e7ede8}.calendar-day:nth-child(7n){border-right:0}.calendar-blank{background:#fbfcf9}.day-number{font-size:14px;display:block;text-align:right;color:#677d6c;margin:0 3px 9px}.calendar-today .day-number{font-weight:800;color:var(--green)}.calendar-today{background:#fafff8}.calendar-event{display:block;background:#e9f2ea;color:#305e41;border-left:3px solid #669b76;padding:8px 7px;border-radius:5px;margin:5px 0;font-size:13px;overflow-wrap:anywhere;line-height:1.35}.calendar-event:hover{filter:brightness(.97)}.calendar-event>strong{font-weight:600}.calendar-event>span{display:block;font-size:12px;margin-top:4px}.event-late{background:#fff1e5;color:#91602f;border-color:#c8965e}.event-done{background:#eff2f0;color:#6c7e71;border-color:#a2b2a6}.calendar-event>.event-state{font-size:11px;opacity:.9}.calendar-legend{display:flex;gap:22px;flex-wrap:wrap;padding:17px 22px}.legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.legend-item:before{content:'';width:9px;height:9px;background:#7eab88;border-radius:2px}.legend-item.late:before{background:#d2a16d}.legend-item.done:before{background:#a9b8ad}.calendar-empty{font-size:14px;color:var(--muted);padding:4px 22px 20px}.footnote{color:#7b8e80;font-size:12px;line-height:1.6;margin-top:20px}.event-row{display:flex;align-items:center;gap:22px;padding:22px;border-top:1px solid var(--line)}.event-row:hover{background:#f8fbf6}.event-row-date{flex-shrink:0;text-align:center;min-width:52px}.event-row-date>strong{font-size:20px;font-weight:500;display:block}.event-row-date>span{font-size:12px;color:var(--muted)}.event-row-main{flex:1;min-width:0;overflow-wrap:anywhere}.event-row-main>p{font-size:14px;color:var(--muted);margin-top:5px}.row-arrow{color:#6b8875}.mobile-calendar-hint{display:none}
@media(min-width:1600px){.login-story,.login-entry{padding-left:13%;padding-right:13%}}@media(max-width:1350px){.app-nav{margin:0 36px}.preview-status{display:none}.herd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.login-story,.login-entry{padding-left:7%;padding-right:7%}.story-content h1{font-size:46px}.brand{font-size:24px}.brand-symbol{width:40px;height:40px}.login-form-wrap h2{font-size:35px}.header-main{flex-wrap:wrap}.account{margin-left:auto}.account-row-top{flex-wrap:wrap}.account-row-top>.badge{margin-left:56px}.account-details{min-width:150px}.account-actions{gap:8px}.calendar-toolbar{gap:16px}.search-form{flex:1}.search-form input{width:100%;min-width:150px}.admin-layout{grid-template-columns:minmax(260px,1fr) minmax(0,1.4fr)}}@media(max-width:750px){.login-layout{grid-template-columns:1fr}.login-story{padding:25px}.story-content{padding:30px 0 5px}.story-content .eyebrow{margin-bottom:15px}.story-content h1{font-size:40px;letter-spacing:-1.7px}.story-content h1 br:first-child{display:none}.story-description{font-size:15px;margin:20px 0 15px}.plan-preview,.story-bottom{display:none}.login-entry{padding:25px}.entry-top{display:none}.login-form-wrap{padding:5px 0 30px;max-width:480px}.login-symbol{display:none}.login-form-wrap h2{font-size:32px}.intro{font-size:15px;margin:16px 0 24px}.login-form-wrap>.eyebrow{margin-top:5px}.header-main{padding:20px;gap:20px}.account{margin:0;justify-content:space-between;width:100%;gap:14px;flex-wrap:wrap}.account>div{text-align:left;flex:1}.account>.text-link{font-size:13px}.app-nav{margin:0 12px;padding-bottom:12px;gap:5px}.app-nav>a{padding:10px;font-size:13px}.version{display:none}.workspace{padding:26px 16px}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:24px;gap:18px}.page-heading h1{font-size:29px}.page-heading .muted{font-size:14px}.card{padding:23px}.admin-layout{grid-template-columns:1fr}.herd-grid{grid-template-columns:1fr;gap:16px}.herd-card>.herd-symbol{margin-bottom:18px}.auth-shell{margin:16px auto;padding:20px}.auth-shell .card{padding:22px}.auth-shell .card>h1{font-size:27px}.form-grid{grid-template-columns:1fr;gap:0}.stats{gap:9px}.stat{padding:16px 13px}.stat>span{font-size:12px;line-height:1.4;min-height:34px}.stat>strong{font-size:27px}.calendar-toolbar{padding:16px}.month-navigation{width:100%;justify-content:space-between}.month-navigation>h2{font-size:19px}.search-form{width:100%;flex-basis:100%}.view-switch{width:100%}.view-switch a{flex:1;text-align:center}.calendar-legend{gap:14px;padding:16px;font-size:12px}.mobile-calendar-hint{display:block;font-size:12px;color:var(--muted);padding:0 16px 14px}.event-row{gap:14px;padding:19px 16px;flex-wrap:wrap}.event-row>.badge{margin-left:66px}.event-row .row-arrow{display:none}.site-footer{padding:22px 20px;flex-direction:column;gap:6px}.entry-bottom{font-size:11px}.account-row-top>.badge{margin-left:0}.account-details{min-width:140px}.account-row-top{gap:11px}.password-reset>form{max-width:100%}.count-label{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:750px){.account>div{flex-basis:100%}.account>.text-link{font-size:14px}}

/* Oryginalny znak GlobalWet z PSD; wycinek bez napisu i bez zmiany tła. */
.globalwet-mark{display:block;position:relative;width:32px;height:30.08px;overflow:hidden}.globalwet-mark img{display:block;position:absolute;top:0;left:0;width:112.8px;height:30.08px;max-width:none}

.heading-actions,.herd-card-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.herd-card-actions{justify-content:space-between;margin-top:22px}.herd-card-actions .card-link{margin:0}.animal-section{margin-top:28px;scroll-margin-top:24px}.animal-section>h2+.muted{margin-top:10px}.animal-table-scroll{overflow-x:auto}.animal-table{width:100%;min-width:1000px;border-collapse:collapse;text-align:left;font-size:15px}.animal-table th,.animal-table td{padding:18px 14px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;max-width:240px}.animal-table thead th{font-size:13px;color:var(--muted);background:#f8faf7}.animal-table tbody th{font-weight:600;min-width:190px}.animal-table tbody tr:last-child>*{border-bottom:0}.animal-date{white-space:nowrap}.animal-status{display:inline-block;padding:4px 9px;border-radius:6px;background:#f0f2ef;color:#59675e;font-size:13px}.animal-present{background:#eaf4ed;color:#245e3e}@media(max-width:750px){.heading-actions{width:100%}.heading-actions .button{flex:1}.animal-section{padding:18px}.animal-table th,.animal-table td{padding:14px 10px}}

.animal-picker{border:0;padding:0;margin:0 0 22px;min-width:0}
.animal-picker legend{font-weight:600;margin-bottom:9px}
.animal-dropdown{border:1px solid #cbd5d1;border-radius:12px;background:#fff}
.animal-dropdown summary{cursor:pointer;padding:14px;line-height:1.5}
.animal-dropdown summary:focus-visible{outline:3px solid #2b8065;outline-offset:3px;border-radius:12px}
.animal-selection-count{display:inline-block;margin-left:8px;color:#24624e;font-weight:600}
.animal-dropdown-content{padding:0 14px 14px}
.animal-options{max-height:280px;overflow-y:auto;overscroll-behavior:contain}
.animal-option{display:flex;align-items:center;gap:12px;padding:12px 4px;border-top:1px solid #edf1ee;cursor:pointer}
.animal-option input[type=checkbox]{width:20px;height:20px;flex:0 0 20px;accent-color:#24624e}
.animal-option span{min-width:0;overflow-wrap:anywhere}
.animal-option small{display:block;color:#66766c;margin-top:4px}
.animal-picker [hidden]{display:none!important}
.animal-picker>p{font-size:13px;line-height:1.6;margin-bottom:0}
input[readonly]{background:#f0f4f1}

.event-row-compact>.badge{margin-left:0}.vaccination-animals{list-style:none;padding:0;margin:20px 0}.vaccination-animals li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.vaccination-animals span{display:block;color:var(--muted);font-size:14px}.vaccination-note{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}.vaccination-note-heading,.vaccination-list-heading{margin-top:26px;margin-bottom:14px}.vaccination-lock{margin-top:24px}.vaccination-detail h2{font-size:21px}

.herd-card .herd-name { display:block; margin-top:-8px; font-size:1.05rem; }
.herd-card-actions { flex-wrap:wrap; gap:12px; }
.danger-link { color:#a12929; }
.button-danger { background:#a12929; border-color:#a12929; }
.button-danger:hover { background:#831f1f; }

/* 1.8: wspólne przyciski i układ od telefonu po komputer. */
.button-small,.square-button,.view-switch a{min-height:44px}
.square-button{min-width:44px}
summary.button{list-style:none;cursor:pointer}
summary.button::-webkit-details-marker{display:none}
.password-reset>summary.button{padding:9px 13px;color:var(--ink)}
.phone-edit{margin-top:16px}
.phone-edit>form{padding-top:16px}
.herd-card-actions{justify-content:flex-start}
.herd-plan-button{flex-basis:100%}
.animal-actions .button{margin:0 6px 8px 0;white-space:nowrap}
.deletion-warning{margin-top:22px}
h1,h2,h3,.account-meta,.muted,.brand,.button{overflow-wrap:anywhere}
.page-heading>div,.heading-actions,.month-navigation,.search-form,.form-grid>*{min-width:0}
/* Zaplanowane — żółte; zaległe — czerwone; wykonane — zielone. */
.event-planned,.day-count.planned{background:#fff2b3;color:#654d00;border-color:#d2a900}
.event-done,.day-count.done{background:#d5efdc;color:#175c32;border-color:#36935a}
.badge-planned{background:#fff2b3;color:#654d00}
.badge-done,.badge-active{background:#d5efdc;color:#175c32}
.legend-item.planned:before{background:#e5bc22}
.legend-item.done:before{background:#36935a}
.mobile-day-events,.mobile-agenda{display:none}
.weekdays,.calendar-grid{min-width:0}
.calendar-day{min-width:0}
.calendar-scroll{overflow:visible}
@media(min-width:751px) and (max-width:1050px){
 .workspace{padding:28px 24px}.header-main{padding:24px}.app-nav{margin:0 24px}
 .admin-layout{grid-template-columns:1fr}.account-actions{gap:12px}
 .calendar-day{padding:5px}.calendar-event{padding:7px 5px;font-size:12px}
 .animal-table{min-width:900px}
}
@media(max-width:750px){
 .workspace{padding:24px 12px}.card{padding:20px}.animal-section{padding:16px}
 .header-main{padding:18px 16px}.app-nav{flex-wrap:wrap}
 .page-heading{gap:16px}.page-heading>div{max-width:100%}
 .page-heading h1{font-size:28px}.heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .heading-actions>.button:last-child{grid-column:1/-1}
 .button{min-height:46px}.form-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .form-actions>*,.form-actions form>.button{width:100%}
 .account-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .account-actions>*{min-width:0;width:100%}.account-actions .button{width:100%}
 .password-reset>form{width:100%}.account-row-top{align-items:flex-start}
 .account-details{min-width:0;flex-basis:calc(100% - 60px)}
 .account-row-top>.badge{margin-left:53px}.account-meta{line-height:1.7}
 .phone-edit>summary{width:100%}.phone-edit form>.button{width:100%}
 .herd-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .herd-plan-button{grid-column:1/-1}.herd-card-actions>.button{width:100%;padding-inline:8px}
 .stats{gap:6px}.stat{padding:12px 8px}.stat>span{min-height:34px;font-size:11px}
 .calendar-toolbar{padding:14px 12px;gap:12px}.month-navigation{gap:8px}
 .month-navigation>h2{min-width:0;font-size:18px}.search-form input{min-width:0;font-size:16px}
 .view-switch a{display:flex;align-items:center;justify-content:center;padding:8px}
 .weekdays>span{font-size:10px;text-align:center;padding:10px 0}
 .calendar-day{min-height:94px;padding:2px 1px}
 .calendar-day .day-number{margin:0;min-height:38px;display:flex;align-items:center;justify-content:center;font-size:13px}
 .calendar-day .calendar-event{display:none}
 .mobile-day-events{display:flex;min-height:44px;gap:2px;align-items:center;justify-content:center;flex-wrap:wrap;border-radius:5px}
 .mobile-day-events:hover{background:#f0f4ed}
 .day-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:22px;padding:1px 3px;font-size:11px;font-weight:700;border:1px solid;border-radius:4px}
 .calendar-legend{gap:10px;padding:14px 12px}.legend-item{font-size:11px}
 .mobile-calendar-hint{padding:0 12px 12px;line-height:1.5}
 .mobile-agenda{display:block;border-top:1px solid var(--line);padding:18px 12px}
 .mobile-agenda>h2{font-size:18px;margin-bottom:16px}.agenda-day{scroll-margin-top:16px;margin-top:18px}
 .agenda-day>h3{font-size:14px;color:var(--muted);margin-bottom:8px}
 .mobile-agenda .calendar-event{padding:12px;min-height:48px;font-size:14px}
 .mobile-agenda .badge{display:table;margin-top:8px;font-size:11px}
 .event-row{padding:16px 0;gap:12px}.event-row>.badge{margin-left:0}
 .event-row-main{flex-basis:55%}.event-row-date+.event-row-main{flex-basis:calc(100% - 70px)}
 .event-row-date~.badge{margin-left:64px}.calendar-card .event-row{padding-inline:12px}
 /* Wykaz zwierząt staje się pionową listą kart, bez przewijania strony w bok. */
 .animal-table-scroll{overflow:visible}.animal-table{min-width:0;width:100%;display:block}
 .animal-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .animal-table tbody{display:block}.animal-table tr{display:block;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px}
 .animal-table tbody th{display:block;min-width:0;max-width:none;padding:0 0 12px;font-size:16px;border-bottom:1px solid var(--line)}
 .animal-table td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px;max-width:none;padding:10px 0;white-space:normal;border-bottom:1px solid var(--line)}
 .animal-table td[data-label]:before{content:attr(data-label);font-size:12px;color:var(--muted)}
 .animal-table .animal-actions{display:flex;flex-wrap:wrap;border:0;padding-bottom:0;gap:8px}
 .animal-actions .button{margin:0;flex:1;white-space:normal}
 .animal-table tbody tr:last-child>*{border-bottom:1px solid var(--line)}
 .animal-table tbody tr:last-child>.animal-actions{border:0}
 .animal-status{justify-self:start}.animal-section .page-heading>.button{width:100%}
 .auth-shell{padding:16px}.login-story,.login-entry{padding:24px 18px}
 .story-content h1{font-size:36px}.login-form-wrap h2{font-size:30px}
 .account>.text-link{min-height:44px;display:inline-flex;align-items:center}
 .vaccination-detail h2{font-size:20px}.vaccination-detail .form-actions form>.button{width:100%}
}
.search-form>.button{flex-shrink:0;white-space:nowrap}
.search-form>input[type=search]{flex:1;width:0}

/* 1.9: trzy statusy i zwijany wykaz na telefonie, bez wymogu JavaScript. */
.event-late,.day-count.late,.badge-late{background:#fde0df;color:#922b28;border-color:#cc4842}
.legend-item.late:before{background:#cc4842}
.mobile-animal-list{display:none}
@media(max-width:750px){
 .animal-table-scroll{display:none}
 .mobile-animal-list{display:block}
 .animal-disclosure{border:1px solid var(--line);border-radius:9px;margin:0 0 10px;background:#fff;overflow:hidden}
 .animal-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}
 .animal-disclosure>summary::-webkit-details-marker{display:none}
 .animal-disclosure>summary>span{min-width:0;overflow-wrap:anywhere}
 .animal-disclosure>summary:after{content:'+';font-size:22px;color:var(--green);flex-shrink:0}
 .animal-disclosure[open]>summary:after{content:'−'}
 .animal-disclosure[open]>summary{background:#f3f7f3;border-bottom:1px solid var(--line)}
 .animal-disclosure-body{padding:0 14px 14px}
 .animal-disclosure dl{margin:0 0 12px}
 .animal-disclosure dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
 .animal-disclosure dt{font-size:12px;color:var(--muted)}
 .animal-disclosure dd{margin:0;font-size:14px;overflow-wrap:anywhere}
 .animal-disclosure .animal-actions{display:flex;flex-wrap:wrap;gap:8px}
}

.completion-info{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.completion-info p{margin-top:10px;overflow-wrap:anywhere}
.completed-visits{margin-top:24px}.completed-visit{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line)}
.completed-visit>div{min-width:0}.completed-visit p{color:var(--muted);font-size:14px;margin-top:6px;overflow-wrap:anywhere}
.completed-visit>.button{flex-shrink:0}
@media(max-width:750px){.completed-visit{display:block}.completed-visit>.button{width:100%;margin-top:16px}.app-nav{flex-wrap:wrap}}

/* 1.11: czytelne wyszukiwanie i daty w liście kalendarza. */
@media(min-width:751px){
 .calendar-toolbar .search-form{flex:1 1 340px;min-width:300px;max-width:560px}
 .calendar-toolbar .search-form>input[type=search]{width:auto;min-width:200px}
}
.event-list-date{flex-shrink:0;min-width:90px;font-size:14px;font-weight:600;color:var(--muted)}
.site-footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:750px){
 .event-row-compact{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px}
 .event-row-compact .event-list-date{min-width:0;font-size:13px}
 .event-row-compact>.badge{grid-column:2;justify-self:start;margin-left:0}
}

/* 1.12: słownik szczepień i zależne pola formularza. */
[data-vaccination-picker] [hidden]{display:none!important}
.catalog-item{padding:24px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.catalog-item h3{margin-bottom:16px}.catalog-medicines{list-style:none;padding:0;margin:0 0 16px}
.catalog-medicines li{padding:12px 0}.catalog-delete{margin-top:10px}
.catalog-delete summary{white-space:normal;overflow-wrap:anywhere;max-width:100%}
.catalog-delete .notice{margin-top:12px}.catalog-delete form{margin-top:12px}
@media(max-width:600px){.catalog-delete summary,.catalog-delete button{width:100%;text-align:left}}

/* 1.14: rozwijany wykaz IRZ w kolorystyce GlobalwetOVS. */
.irz-date{font-weight:600;margin-top:12px;color:var(--green)}
.irz-animal-list .animal-disclosure{border:1px solid var(--line);border-radius:9px;margin:0 0 10px;background:var(--paper);overflow:hidden}
.irz-animal-list .animal-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;list-style:none}
.irz-animal-list .animal-disclosure>summary::-webkit-details-marker{display:none}
.irz-animal-list .animal-disclosure>summary>span{min-width:0;overflow-wrap:anywhere}
.irz-animal-list .animal-disclosure>summary:after{content:'+';font-size:22px;color:var(--green);flex-shrink:0}
.irz-animal-list .animal-disclosure[open]>summary:after{content:'−'}
.irz-animal-list .animal-disclosure[open]>summary{background:#f3f7f3;border-bottom:1px solid var(--line)}
.irz-animal-list .animal-disclosure-body{padding:0 14px 14px}
.irz-animal-list .animal-disclosure dl{margin:0 0 12px}
.irz-animal-list .animal-disclosure dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.irz-animal-list .animal-disclosure dt{font-size:12px;color:var(--muted)}
.irz-animal-list .animal-disclosure dd{margin:0;font-size:14px;overflow-wrap:anywhere}
.irz-animal-list .animal-actions{display:flex;flex-wrap:wrap;gap:8px}
/* Podgląd pliku przed importem korzysta z tej samej palety. */
.irz-table{width:100%;min-width:1500px;border-collapse:collapse;table-layout:fixed;font-size:14px;color:var(--ink);text-align:center}
.irz-table th,.irz-table td{border:1px solid var(--line);padding:16px 10px;vertical-align:middle;overflow-wrap:anywhere;line-height:1.5}
.irz-table thead th{background:var(--surface);font-size:13px;font-weight:700}
.irz-table th:first-child,.irz-table td:first-child{width:45px}
.irz-table th:nth-child(2){width:160px;font-weight:500}
.irz-table thead th:nth-child(2){font-weight:700}
.irz-table th:nth-child(6){width:185px}
.irz-table th:nth-child(10){width:115px}
.irz-preview-scroll{overflow:auto;margin-top:20px}
@media(max-width:750px){.irz-section h2{font-size:22px}.irz-section .heading-actions{flex-direction:column;align-items:stretch}.irz-section .heading-actions .button{width:100%}input[type=file]{max-width:100%;min-width:0}}

/* 1.15: planowanie kolejnej wizyty po wykonaniu szczepienia. */
dialog.followup-dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; margin: auto; color: var(--ink, #173b2c); border: 1px solid #d8e5dd; }
dialog.followup-dialog::backdrop { background: rgba(13, 37, 27, .55); }
dialog.followup-dialog[open]:not(:modal) { position: fixed; inset: 16px; z-index: 100; box-shadow: 0 0 0 100vmax rgba(13, 37, 27, .55); }
.followup-dialog .form-actions { flex-wrap: wrap; }

/* Powiadomienia 1.16 */
.notification-card { margin-bottom: 20px; overflow-wrap: anywhere; }
.notification-history { padding: 16px 0; border-top: 1px solid #e4e9e6; margin-top: 16px; }
.notification-history h3 { margin: 0; }
.notification-card button:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 600px) { .notification-card .button { width: 100%; white-space: normal; } }


/* Zwijane wykazy stada: wspólne nagłówki dla telefonu i komputera. */
.list-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;cursor:pointer;list-style:none;padding:12px 0}
.list-disclosure>summary::-webkit-details-marker{display:none}
.list-disclosure>summary:after{content:'+';color:var(--green);font-size:26px;flex-shrink:0}
.list-disclosure[open]>summary:after{content:'−'}
.list-disclosure>summary h2,.list-disclosure>summary h3{margin:0;min-width:0;overflow-wrap:anywhere}
.list-disclosure>summary:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}
.list-count{color:var(--muted);font-size:.85em;font-weight:400;white-space:nowrap}
.list-disclosure-body{padding-top:16px;min-width:0}
.vaccination-disclosure{border-top:1px solid var(--line)}
.vaccination-disclosure+.vaccination-disclosure{margin-top:12px}
.animal-register-search{margin-bottom:18px}
.animal-register-search label{display:block;margin-bottom:8px;font-weight:600}
.animal-register-search input{width:100%;min-width:0}
[data-animal-register] [hidden]{display:none!important}

/* Panel lekarza 1.19 */
.doctor-breeders { margin-bottom: 24px; }
.doctor-herd-list { max-height: 340px; overflow-y: auto; }
.doctor-dashboard .calendar-event span { overflow-wrap: anywhere; }
.doctor-dashboard > .form-actions { margin: 24px 0; }
.transfer-item { border-top: 1px solid #dfe5df; padding: 16px 0; overflow-wrap: anywhere; }
.transfer-dialog { max-height: 85vh; overflow-y: auto; }
.doctor-dashboard .event-row-main p { margin: 4px 0; overflow-wrap: anywhere; }
@media(max-width: 600px) {
 .transfer-dialog .form-actions { flex-direction: column; align-items: stretch; }
 .doctor-dashboard > .form-actions > .button { width: 100%; white-space: normal; text-align: center; }
}

/* Administracja: diagnostyka i trwały audyt zmian, 1.20. */
.core-card{padding:24px;margin-bottom:20px;min-width:0}
.audit-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.audit-checkbox{display:flex;gap:10px;align-items:center;min-height:44px}
.audit-checkbox input{width:auto}
.audit-entry{color:#111;padding:12px 0;border-bottom:1px solid var(--line,#dde5df);overflow-wrap:anywhere}
.audit-entry h3{margin:6px 0}.audit-entry p{margin:4px 0}
.audit-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.audit-entry summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}
.audit-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.audit-values pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6;background:#f7f9f7;padding:12px;border-radius:8px}
.audit-entry h4,.audit-entry pre{color:inherit}
.audit-deleted{color:#b42318}
.audit-moved{color:#175cd3}
.diagnostic-row{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1.4fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line,#dde5df);overflow-wrap:anywhere}
.diagnostic-status{font-weight:700}.diagnostic-ok{color:#267346}.diagnostic-bad{color:#b42318}
@media(max-width:700px){.audit-filters,.audit-values,.diagnostic-row{grid-template-columns:1fr}.core-card{padding:16px}.diagnostic-row{gap:6px}}
.app-nav{flex-wrap:wrap}
.core-card .button-small{min-height:44px}

.audit-group{border-bottom:1px solid #dde5df}.audit-group>summary{cursor:pointer;padding:18px 0;min-height:44px;overflow-wrap:anywhere}.audit-group-title{font-size:17px;font-weight:700}.audit-group-meta{display:block;color:#597065;font-size:13px;margin:5px 0}.audit-expand{font-size:13px;font-weight:600;color:#205b42}.audit-group[open]>.audit-group-content{padding:0 12px 18px;border-left:3px solid #dce8df}.audit-group[open]>summary .audit-expand{display:none}.audit-group-content .audit-entry{font-size:14px}

.sms-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.sms-controls h2{margin:0;flex:1 1 260px}.sms-controls form{margin:0;flex:0 0 auto}.sms-controls .button{min-height:44px}@media(max-width:480px){.sms-controls form,.sms-controls .button{width:100%}}

/* Rozwijane grupy kont administratora. */
.account-group{border-top:1px solid var(--line)}
.account-group>summary{display:flex;align-items:center;gap:12px;padding:18px 0;cursor:pointer;list-style:none;font-weight:600;color:var(--green)}
.account-group>summary::-webkit-details-marker{display:none}
.account-group>summary::before{content:'▸';flex-shrink:0}
.account-group[open]>summary::before{content:'▾'}
.account-group>summary>.count-label{margin-left:auto}
.account-group>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
.account-group[open]{padding-bottom:24px}
.account-group-empty{padding:8px 0;font-size:14px}

[data-group-description][hidden],[data-animal-picker][hidden]{display:none!important}
