:root{color-scheme:light;--paper:#fffefa;--side:#f4f3ee;--ink:#343d32;--muted:#717a6b;--line:#e5e7dd;--green:#617451;--green-dark:#47583a;--green-wash:#e9ede2;--danger:#a35d49;--radius:7px;font-family:'Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{transition:background .15s,box-shadow .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #99ae87;outline-offset:1px}button svg,[data-icon] svg{width:18px;height:18px;flex-shrink:0;vertical-align:middle}button [data-icon]{display:inline-flex}a{color:inherit}button{border:0}h1,h2,p{margin:0}h1{font-size:34px;font-weight:550;line-height:1.25;letter-spacing:-1px}h2{font-size:19px;font-weight:550}button.primary-button,button.secondary-button,button.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;min-height:40px}.primary-button{background:var(--green);color:white}.primary-button:hover{background:var(--green-dark)}.secondary-button{background:var(--paper);border:1px solid var(--line)}.secondary-button:hover{background:var(--side)}.icon-button{background:transparent;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:5px;color:var(--muted);flex-shrink:0}.icon-button:hover{background:var(--green-wash);color:var(--ink)}.danger-button{background:transparent;color:var(--danger)}.danger-button:hover{background:#f7e9e3}.danger-button.filled{background:var(--danger);color:white}.text-button{background:transparent;color:var(--green);padding:4px 0;font-size:14px;text-align:left}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 16px 22px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;font-size:21px;font-weight:600;letter-spacing:3px;padding:0 6px 34px}.brand-mark{font:38px/1 Georgia,serif;display:flex;align-items:center;justify-content:center;width:38px;height:43px;color:var(--green);border:1px solid #cbd3be;border-radius:50% 50% 40% 40%;letter-spacing:0}.brand small{display:block;font-weight:400;font-size:9px;letter-spacing:1px;margin-top:5px;color:var(--muted)}.main-nav{margin-bottom:10px}.nav-button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;margin:3px 0;text-align:left;border-radius:6px;background:transparent;font-size:14px;min-height:40px}.nav-button:hover{background:#ebede5}.nav-button.active{background:#e4e9dc;color:var(--green-dark);font-weight:500}.nav-count{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.section-label{font-size:11px;letter-spacing:1.3px;color:var(--muted);padding:23px 12px 8px}.list-dot{height:7px;width:7px;border:1.5px solid #8c997e;border-radius:50%;margin:0 6px;flex-shrink:0}.nav-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--muted)}.sidebar-bottom{margin-top:auto;padding:45px 12px 0}.local-indicator{display:flex;gap:7px;align-items:center;font-size:12px;color:var(--muted)}#connection-dot{width:6px;height:6px;border-radius:50%;background:#98a48c}#connection-dot.offline{background:#b56d54}.backup-link{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--muted);font-size:12px;margin-top:12px}.backup-link:hover{color:var(--green-dark)}.backup-link svg{width:13px;height:13px}main{min-width:0}.topbar{min-height:67px;padding:15px 34px;display:flex;gap:18px;justify-content:space-between;align-items:center}.breadcrumbs{font-size:13px;display:flex;gap:11px;align-items:center;color:var(--muted);min-width:0}.breadcrumbs #breadcrumb{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.slash{color:#bcc2b4}.herd-summary{background:transparent;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:5px;border-radius:5px}.herd-summary:hover{background:var(--side)}.mini-count{display:flex;align-items:center;gap:4px;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.mini-count .animal-emoji{font-size:16px;filter:saturate(.6)}.pasture{height:238px;position:relative;overflow:hidden;background:#edf0e5}#pasture-canvas{width:100%;height:100%;display:block}.pasture-caption{position:absolute;left:35px;top:23px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:2px;color:#637253;pointer-events:none}.pasture-line{height:1px;width:22px;background:#8c9d76}.pasture-bottom{position:absolute;bottom:13px;left:35px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:#4f6241}.motion-button{display:flex;align-items:center;gap:5px;padding:5px 8px;background:#f5f7e8be;color:#516643;border-radius:4px;font-size:11px}.motion-button svg{width:12px;height:12px}.workspace{max-width:1160px;padding:36px 42px 32px;margin:0 auto}.eyebrow{font-size:11px;letter-spacing:1.4px;color:var(--muted);margin-bottom:10px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.page-heading p{font-size:14px;color:var(--muted);margin-top:8px}.heading-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.overall-progress{display:flex;align-items:center;gap:14px;margin:28px 0 31px;color:var(--muted);font-size:13px}.progress-track{height:5px;background:#e8ebe1;flex:1;border-radius:4px;overflow:hidden}.progress-track>div{height:100%;background:#7e9468;border-radius:4px;transition:width .4s;width:0}#progress-percent{width:35px;text-align:right;font-variant-numeric:tabular-nums}.table-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 12px;gap:12px;font-size:14px}.table-toolbar>span:first-child{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--green-dark)}.toolbar-note{font-size:12px;color:var(--muted)}.column-headings,.task-row{display:grid;grid-template-columns:minmax(180px,1fr) 104px 142px 58px 28px;gap:12px;align-items:center}.column-headings{padding:12px 0;font-size:12px;color:var(--muted)}.column-headings>span:nth-child(4){text-align:right}.task-group{border-top:1px solid var(--line)}.task-row{padding:16px 0 9px}.task-title-cell{display:flex;align-items:flex-start;gap:9px;min-width:0}.expand-button{padding:0;margin-top:3px;width:16px;height:22px;background:transparent;color:var(--muted);flex-shrink:0}.expand-button svg{width:15px;height:15px;transition:transform .2s}.expand-button.collapsed svg{transform:rotate(-90deg)}input[type=checkbox]{appearance:none;width:17px;height:17px;border:1.5px solid #b7c0ac;border-radius:4px;background:var(--paper);flex-shrink:0;cursor:pointer;margin:5px 0 0;display:grid;place-content:center}input[type=checkbox]:checked{background:var(--green);border-color:var(--green)}input[type=checkbox]:checked:after{content:'';width:8px;height:4px;transform:rotate(-45deg) translateY(-1px);border-left:1.5px solid white;border-bottom:1.5px solid white}.task-title-button{border:0;background:transparent;padding:0;text-align:left;font-size:15px;overflow-wrap:anywhere}.task-title-button:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}.task-group.completed .task-title-button{text-decoration:line-through;color:#8a9380}.task-title-stack{min-width:0}.task-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:4px}.task-meta .overdue-text{color:var(--danger)}.task-meta .paid-text{color:var(--green)}.priority-select{width:100%;border:0;border-radius:4px;padding:5px 3px;font-size:13px;background:#f0f2e9}.priority-select.high{color:#98684c;background:#f6eee5}.priority-select.medium{color:#657746;background:#edf1e3}.priority-select.low{color:#7b8175;background:#f0f1ec}.due-input{font-size:13px;min-width:0;width:100%;border:0;background:transparent;padding:5px 0;color:var(--muted)}.due-input.overdue{color:var(--danger)}.task-progress{text-align:right;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.task-progress .tiny-track{height:3px;background:#edf0e6;border-radius:3px;margin-top:5px}.tiny-track div{height:100%;background:#8aa174;border-radius:3px}.task-actions{display:flex;align-items:center;gap:12px;padding:0 0 12px 51px}.sub-add-button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--muted);font-size:12px;padding:3px 0}.sub-add-button:hover{color:var(--green-dark)}.sub-add-button svg{width:13px;height:13px}.children{padding:0 0 9px 51px}.child-row{display:flex;align-items:flex-start;gap:9px;margin:5px 0;font-size:14px;min-height:31px}.child-row input{width:15px;height:15px;margin-top:8px}.child-title{background:transparent;border:0;text-align:left;font-size:14px;padding:3px 0;flex:1;overflow-wrap:anywhere}.child-title:hover{text-decoration:underline}.child-row.done .child-title{color:#8a9380;text-decoration:line-through}.child-row .icon-button{width:28px;height:28px}.child-row .icon-button svg{width:14px;height:14px}.empty-state{text-align:center;padding:45px 20px 50px}.empty-symbol{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--green-wash);border-radius:13px;color:var(--green);margin-bottom:15px}.empty-symbol svg{width:23px;height:23px}.empty-state h2{font-size:19px;margin-bottom:8px}.empty-state p{max-width:390px;margin:0 auto 18px;font-size:14px;color:var(--muted)}.overdue-notice{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 16px;background:#f6efe5;border-radius:5px;color:#927347;font-size:13px}.overdue-notice button{background:transparent;text-decoration:underline;color:inherit;white-space:nowrap;margin-left:auto;padding:0;font-size:12px}.workspace-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;padding-top:20px;margin-top:24px;color:var(--muted);font-size:12px}.herd-total{font-size:14px;color:var(--green);background:var(--green-wash);padding:6px 11px;border-radius:20px;white-space:nowrap}.herd-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:28px 0}.animal-card{padding:20px 10px;text-align:center;background:var(--side);border-radius:8px}.animal-card canvas{display:block;width:100%;height:68px;max-width:140px;margin:0 auto 6px}.animal-card .animal-name{font-size:13px;color:var(--muted)}.animal-card .animal-number{font-size:26px;font-weight:500;margin-top:2px;font-variant-numeric:tabular-nums}.conversion-panel{border:1px solid var(--line);border-radius:8px;padding:22px}.conversion-panel h2{font-size:17px;margin-bottom:13px}.conversion-chain{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}.conversion-chain b{font-weight:400;color:#9da88f}.conversion-panel p{font-size:13px;color:var(--muted);margin:20px 0 8px}.rules{font-size:14px;color:var(--muted);margin:23px 0}.rules summary{cursor:pointer;color:var(--ink)}.rules ul{padding-left:20px;max-width:700px}.rules li{padding:5px 0}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 12px}.history-heading span{font-size:12px;color:var(--muted)}.history-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:14px}.history-type{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;background:var(--green-wash);border-radius:50%;font-size:13px;color:var(--green);flex-shrink:0}.history-row.overdue .history-type{background:#f5e9e0;color:var(--danger)}.history-message{flex:1;min-width:0;overflow-wrap:anywhere}.history-row time{font-size:12px;color:var(--muted);white-space:nowrap}.history-empty{color:var(--muted);padding:15px 0;font-size:14px}.error-panel{padding:15px;background:#f8eae4;color:var(--danger);border-radius:6px;margin-bottom:24px;font-size:14px}dialog{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);padding:26px;box-shadow:0 20px 80px #28332326}dialog::backdrop{background:#26311e55;backdrop-filter:blur(2px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.dialog-header h2{font-size:21px}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:24px}.spacer{flex:1}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;font-size:14px}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #dce1d4;border-radius:6px;background:var(--paper);padding:10px 11px;font-size:15px}.field textarea{min-height:85px;resize:vertical}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field small,.form-help{color:var(--muted);font-size:12px}.field-error{font-size:14px;color:var(--danger);margin-top:10px}.toast-region{position:fixed;bottom:25px;left:calc(50% + 112px);transform:translateX(-50%);z-index:10;max-width:calc(100vw - 40px);pointer-events:none}.toast{border:1px solid #d9e1ce;border-radius:9px;background:#f7faef;color:#455c32;padding:14px 20px;box-shadow:0 8px 35px #26331b15;font-size:14px;animation:toast-in .25s ease}.toast.error{background:#fff2ea;color:var(--danger);border-color:#ecd2c4}.toast strong{font-weight:600}.toast small{display:block;margin-top:4px;font-size:12px}.mobile-menu,.sidebar-scrim{display:none}[hidden]{display:none!important}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.workspace{padding-top:44px}.pasture{height:270px}}@media(max-width:1120px){.app-shell{grid-template-columns:198px minmax(0,1fr)}.sidebar{padding:28px 10px 20px}.brand{font-size:19px;gap:8px}.brand small{font-size:8px}.workspace{padding:30px 26px}.topbar{padding:13px 25px;flex-wrap:wrap;gap:6px}.column-headings,.task-row{grid-template-columns:minmax(145px,1fr) 85px 127px 44px 25px;gap:9px}.toast-region{left:calc(50% + 99px)}.pasture-caption{left:26px}.pasture-bottom{left:26px}}@media(max-width:850px){.column-headings{display:none}.task-row{grid-template-columns:minmax(0,1fr) 90px 28px;gap:7px;padding-bottom:7px}.task-title-cell{grid-column:1 / 3}.task-row>.edit-task-button{grid-column:3;grid-row:1}.priority-select{grid-column:1;grid-row:2;justify-self:start;width:92px;margin-left:51px}.due-input{grid-column:2;grid-row:2;font-size:12px;width:125px;justify-self:end;margin-right:30px}.task-progress{grid-column:3;grid-row:2;font-size:11px}.task-progress .tiny-track{display:none}.task-actions{padding-top:2px}.page-heading{align-items:flex-start}.heading-actions{padding-top:4px}.heading-actions .primary-button{font-size:13px;padding:8px 10px}.herd-cards{gap:6px}.animal-card{padding:12px 3px}.conversion-chain{gap:7px;font-size:12px}}@media(max-width:650px){.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;z-index:30;width:245px;height:100dvh;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.sidebar-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:25;background:#25321c66}.mobile-menu{display:inline-flex}.topbar{padding:10px 17px;min-height:76px;gap:7px}.breadcrumbs{font-size:12px;gap:8px}.herd-summary{margin-left:32px;gap:13px;padding:0}.mini-count{font-size:11px}.mini-count .animal-emoji{font-size:14px}.mini-count .species-label{display:none}.pasture{height:196px}.pasture-caption{left:21px;top:18px;font-size:10px;letter-spacing:1.6px}.pasture-bottom{left:21px;right:15px;font-size:11px}.motion-button #motion-label{display:none}.motion-button{padding:7px}.workspace{padding:26px 20px}h1{font-size:29px}.eyebrow{font-size:10px}.page-heading p{font-size:13px;max-width:230px}.page-heading{gap:10px}.heading-actions{gap:0}.heading-actions .primary-button{padding:8px 10px;white-space:nowrap;font-size:12px}.heading-actions .primary-button svg{width:14px;height:14px}.overall-progress{margin:24px 0;font-size:12px;gap:10px}.table-toolbar{font-size:13px}.toolbar-note{font-size:11px}.task-title-button{font-size:15px}.task-meta{font-size:11px}.children{padding-left:34px}.task-actions{padding-left:50px}.toast-region{left:50%;bottom:20px;width:max-content}.herd-cards{grid-template-columns:repeat(3,1fr)}.animal-card:last-child{grid-column:auto}.animal-card canvas{height:60px}.history-row{flex-wrap:wrap;gap:8px}.history-row time{margin-left:35px}.history-message{flex-basis:calc(100% - 36px)}.history-heading{align-items:flex-start;flex-direction:column;gap:5px}.workspace-footer{font-size:11px}.overdue-notice{flex-wrap:wrap}.overdue-notice button{margin-left:0}.conversion-panel{padding:16px}.conversion-chain{font-size:13px}.brand{font-size:21px}.brand small{font-size:9px}dialog{padding:21px}.field-grid{grid-template-columns:1fr;gap:0}.dialog-footer{gap:6px}.dialog-footer button{padding:8px 11px}.task-progress{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(pointer:coarse){.icon-button{min-height:40px;min-width:36px}.child-row .icon-button{min-height:36px;min-width:32px}.sub-add-button{min-height:38px}.expand-button{min-height:28px}.task-row>.edit-task-button{justify-self:end}.child-title{min-height:36px}.nav-button{min-height:44px}}

.animal-mini{width:28px;height:24px;display:block;flex-shrink:0}@media(max-width:650px){.animal-mini{width:24px;height:22px}}

.animal-card canvas{height:auto;aspect-ratio:200/136}

html[data-theme=dark]{--paper:#17191c;--side:#1c2025;--ink:#edeff3;--muted:#a8aeb6;--line:#333941;--green:#748cae;--green-dark:#aabdd8;--green-wash:#252b34;color-scheme:dark;background:#17191c}
html[data-theme=dark] body,html[data-theme=dark] .app-shell,html[data-theme=dark] main,html[data-theme=dark] .workspace{background:#17191c;color:var(--ink)}
html[data-theme=dark] .sidebar{background:linear-gradient(145deg,#141619,#1b1d21)}
html[data-theme=dark] .topbar,html[data-theme=dark] dialog,html[data-theme=dark] .stat-card,html[data-theme=dark] .insight-panel,html[data-theme=dark] .conversion-panel,html[data-theme=dark] .calendar-day,html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .naming-row select{background:#1b1d21;color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .nav-button.active,html[data-theme=dark] .animal-card,html[data-theme=dark] .level-card,html[data-theme=dark] .achievement,html[data-theme=dark] .decor-card{background:#22272d;color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .animal-card:first-child,html[data-theme=dark] .achievement.earned{background:#282e37}
html[data-theme=dark] .priority-select,html[data-theme=dark] .priority-select.low{background:#282c31;color:#cacfd5}html[data-theme=dark] .priority-select.medium{background:#293039;color:#b5c2d3}html[data-theme=dark] .priority-select.high{background:#3b2d28;color:#e0b49d}
html[data-theme=dark] .task-group,html[data-theme=dark] .history-row{border-color:var(--line)}html[data-theme=dark] .toast{background:#252b34;color:#d7e0ec;border-color:#3e4652}html[data-theme=dark] .toast.error{background:#3a2925;color:#efc0ae}
html[data-theme=dark] .calendar-day.outside,html[data-theme=dark] .calendar-weekday{background:#17191c}html[data-theme=dark] .calendar-day.is-today{background:#252b34}html[data-theme=dark] .calendar-task{background:#282f39;color:var(--ink)}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);background:var(--paper)}.auth-panel{padding:44px clamp(28px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.auth-brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:600;letter-spacing:4px;margin-bottom:65px}.auth-brand small{display:block;font-size:9px;letter-spacing:1.4px;color:var(--muted);font-weight:400;margin-top:4px}.auth-copy h1{font-size:38px;margin:8px 0 10px}.auth-copy p{color:var(--muted);font-size:15px;max-width:380px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:32px 0 22px}.auth-tabs button{background:transparent;padding:10px;border-bottom:2px solid transparent;color:var(--muted)}.auth-tabs button.active{border-color:var(--green);color:var(--green-dark);font-weight:500}.auth-submit{width:100%;margin-top:5px}.auth-message{font-size:14px;color:var(--green-dark);background:var(--green-wash);padding:10px 12px;border-radius:6px}.auth-footnote{font-size:12px;color:var(--muted);margin-top:22px}.auth-pasture{position:relative;overflow:hidden;background:#e4ebd7;min-height:100vh}.auth-pasture canvas{display:block;width:100%;height:100%;position:absolute;inset:0}.auth-pasture>span{position:absolute;bottom:36px;left:38px;color:#596a4b;font-size:13px;letter-spacing:.4px}.user-email{font-size:12px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}.sidebar-bottom .backup-link{border:0;background:transparent;padding:0}.animal-card{border:0;color:inherit}.animal-card:hover{background:#e9ede2;transform:translateY(-1px)}#pasture-canvas{touch-action:manipulation}@media(max-width:760px){.auth-screen{grid-template-columns:1fr}.auth-panel{min-height:100vh;padding:30px 24px}.auth-pasture{display:none}.auth-brand{margin-bottom:45px}.auth-copy h1{font-size:32px}}

/* Reference-inspired, airy working surface. */
:root{--paper:#fdfefd;--side:#f7f8f3;--ink:#142e30;--muted:#707c7e;--line:#e2e7df;--green:#426c39;--green-dark:#31532c;--green-wash:#e9eee3;--radius:10px}
.app-shell{grid-template-columns:258px minmax(0,1fr)}
.sidebar{padding:30px 16px 24px;background:linear-gradient(130deg,#f7f8f3,#fafaf7)}
.brand{font-size:25px;letter-spacing:1px;padding:0 12px 38px;align-items:flex-start}.brand-mark{background:linear-gradient(135deg,#557a44,#294f29);color:#fff;border:0;border-radius:11px;width:44px;height:45px;font-size:39px}.brand small{font-size:13px;letter-spacing:0;max-width:150px;line-height:1.3}
.nav-button{font-size:16px;padding:12px 15px;gap:13px;border-radius:10px}.nav-count{font-size:14px}.nav-button.active{background:#e5ebdf;color:#17372d;font-weight:600}.section-label{font-size:13px;letter-spacing:.8px;padding:30px 15px 10px}.sidebar-bottom{padding-left:12px}.user-email,.local-indicator,.backup-link{font-size:13px}
.topbar{min-height:76px;border-bottom:1px solid var(--line);padding:16px 36px}.breadcrumbs{font-size:14px}.mini-count{font-size:14px;gap:6px}.mini-count+.mini-count{border-left:1px solid #d8ded5;padding-left:12px}.animal-mini{width:34px;height:28px}
.workspace{max-width:1440px;padding:38px 36px;margin:0 auto}h1{font-size:44px;font-weight:650;letter-spacing:-1.5px}.page-heading p{font-size:16px;margin-top:7px}.eyebrow{font-size:12px;letter-spacing:1px}.heading-actions .primary-button{padding:13px 19px;font-size:16px;font-weight:600}.page-heading{min-height:78px}
.pasture{height:180px;border-radius:15px;margin:30px 0 22px;isolation:isolate}.pasture-caption{left:24px;top:17px;font-size:11px;letter-spacing:1px}.pasture-bottom{left:24px;right:18px;bottom:13px;font-size:13px;pointer-events:none}.pasture-bottom button{pointer-events:auto}.pasture-bottom #pasture-note{max-width:50%}.motion-button{font-size:12px}.weather-badge{position:absolute;top:12px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:70%;padding:5px 9px;border-radius:8px;background:#ffffffba;font-size:12px;color:#304b3c;pointer-events:none}.weather-badge a{pointer-events:auto;font-size:10px;color:#65776b;text-decoration:none}.pasture[data-night=true] .pasture-caption,.pasture[data-night=true] .pasture-bottom{color:#edf3ed}.pasture[data-night=true] .weather-badge{background:#172a40bb;color:#e7eef1}.pasture[data-night=true] .weather-badge a{color:#bacad3}
.herd-cards{gap:16px;margin:18px 0 24px}.animal-card{padding:18px 14px 16px;background:linear-gradient(145deg,#f7f8f3,#f3f5ef);border:1px solid var(--line);border-radius:14px;transition:transform .2s,background .2s}.animal-card:first-child{background:#f0f5e9}.animal-card:hover{background:#eaf1e3;transform:translateY(-3px)}.animal-card canvas{max-width:175px;margin-bottom:6px}.animal-card .animal-name{font-size:16px;color:var(--ink)}.animal-card .animal-number{font-size:36px;font-weight:650;line-height:1.3}.herd-total{font-size:15px;padding:9px 15px}
.conversion-panel{padding:26px 28px;border-radius:14px;background:#fff;position:relative}.conversion-panel h2{font-size:23px;font-weight:600;margin-bottom:7px}.conversion-chain{font-size:15px;color:var(--muted)}.conversion-panel p{font-size:14px;text-align:right;margin-top:20px}.conversion-panel .progress-track{height:10px;margin-top:12px}.progress-track>div{background:linear-gradient(90deg,#658752,#3f6b37)}.rules{font-size:14px}.history-heading h2{font-size:20px}.task-group{border-color:#e9ede6}.task-row{padding-top:19px}.task-title-button{font-size:16px}.priority-select,.due-input,.task-progress{font-size:14px}.task-meta,.sub-add-button,.toolbar-note,.column-headings{font-size:13px}.overall-progress{margin:24px 0}.table-toolbar{padding-bottom:14px}.auth-panel{background:#fafcf8}.auth-copy h1{font-size:42px}.auth-brand small{font-size:12px;letter-spacing:.6px}
@media(max-width:1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.brand{font-size:22px;padding-left:9px}.brand small{font-size:12px}.workspace{padding:28px 24px}.topbar{padding:15px 24px}.herd-summary{gap:6px}.mini-count{font-size:12px}.mini-count+.mini-count{padding-left:6px}.herd-cards{gap:10px}.animal-card{padding:14px 7px}.animal-card .animal-number{font-size:30px}.nav-button{font-size:14px}h1{font-size:38px}}
@media(max-width:760px){.herd-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.weather-badge{max-width:80%;font-size:11px;right:9px}.pasture-caption{display:none}.pasture-bottom #pasture-note{max-width:70%}.pasture{height:190px}.conversion-panel{padding:20px}.conversion-chain{font-size:14px}}
@media(max-width:650px){.app-shell{display:block}.sidebar{width:260px}.workspace{padding:25px 18px}.topbar{padding:12px 16px}.herd-summary{margin-left:0;gap:7px}.mini-count+.mini-count{padding-left:7px}.mini-count{font-size:12px}.animal-mini{width:27px;height:24px}h1{font-size:32px}.page-heading p{font-size:14px}.heading-actions .primary-button{font-size:13px;padding:10px 11px}.pasture{margin-top:22px}.pasture-bottom{left:14px;right:12px;font-size:11px}.herd-cards{gap:9px}.animal-card .animal-name{font-size:14px}.animal-card .animal-number{font-size:29px}.conversion-panel h2{font-size:21px}.brand{font-size:24px}.nav-button{font-size:16px}}

/* Full-width pasture above the page header, 1.5x the previous height. */
main>.pasture{height:270px;margin:0;border-radius:0;background:#80c5ef}
@media(max-width:760px){main>.pasture{height:285px;margin:0}}

/* Balanced type scale: keep the interface airy without losing readability. */
body{font-size:15px;line-height:1.55}
.app-shell{grid-template-columns:244px minmax(0,1fr)}
.brand{font-size:23px;line-height:1.15;padding-bottom:32px}.brand small{font-size:11px;line-height:1.35;margin-top:6px}
.nav-button{font-size:15px;line-height:1.3;padding:11px 13px}.nav-count{font-size:13px}.section-label{font-size:12px;padding-top:25px}
.topbar{min-height:70px;padding:12px 30px;gap:14px}.breadcrumbs{font-size:13px}.herd-summary{gap:8px;flex-wrap:nowrap;min-width:0}.mini-count{font-size:12px;gap:4px}.mini-count+.mini-count{padding-left:8px}.animal-mini{width:30px;height:25px}
.workspace{padding:32px 32px}h1{font-size:40px;line-height:1.15;letter-spacing:-1.2px}.page-heading{min-height:68px}.page-heading p{font-size:15px;line-height:1.5}.heading-actions .primary-button{font-size:15px;padding:11px 16px}
.pasture-caption{font-size:10px}.pasture-bottom{font-size:12px}.weather-badge{font-size:11px;line-height:1.35;max-width:60%;padding:5px 8px}.weather-badge a{font-size:10px}
.animal-card .animal-name{font-size:15px;line-height:1.35}.animal-card .animal-number{font-size:32px;line-height:1.2}.herd-total{font-size:14px}
.conversion-panel h2{font-size:21px;line-height:1.3}.conversion-chain{font-size:14px;line-height:1.55}.conversion-panel p{font-size:13px}.history-heading h2{font-size:19px}
.task-title-button{font-size:15px;line-height:1.45}.priority-select,.due-input,.task-progress{font-size:13px}.task-meta,.sub-add-button,.toolbar-note,.column-headings{font-size:12px}
@media(max-width:1250px){.app-shell{grid-template-columns:214px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.brand{font-size:21px}.brand small{font-size:10px}.topbar{padding-inline:20px}.mini-count{font-size:11px}.animal-mini{width:27px;height:23px}.mini-count+.mini-count{padding-left:5px}.workspace{padding-inline:24px}h1{font-size:36px}.herd-cards{gap:9px}.animal-card{padding-inline:8px}.animal-card .animal-number{font-size:29px}}
@media(max-width:920px){.species-label{display:none}.topbar{align-items:flex-start}.herd-summary{flex-wrap:wrap;justify-content:flex-end}.page-heading p{font-size:14px}}
@media(max-width:650px){body{font-size:15px}.topbar{min-height:68px}.breadcrumbs{font-size:12px}.herd-summary{gap:5px}.mini-count{font-size:11px}.mini-count+.mini-count{padding-left:5px}h1{font-size:30px}.page-heading{min-height:0}.page-heading p{font-size:13px;line-height:1.45}.weather-badge{font-size:10px;max-width:68%}.pasture-bottom{font-size:10px}.animal-card .animal-name{font-size:13px}.animal-card .animal-number{font-size:27px}.conversion-panel h2{font-size:19px}.conversion-chain{font-size:13px}}

/* Compact typography requested for a less crowded interface. */
body{font-size:12px;line-height:1.45}
.brand{font-size:17px}.brand small{font-size:9px}.nav-button{font-size:11px;padding-block:8px;min-height:34px}.nav-count,.section-label{font-size:9px}.section-label{padding-top:18px}
.breadcrumbs{font-size:10px}.topbar{min-height:56px;padding-block:9px}.mini-count{font-size:9px}.animal-mini{width:25px;height:21px}
h1{font-size:24px;letter-spacing:-.6px}.page-heading{min-height:50px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.heading-actions .primary-button,button.primary-button,button.secondary-button,button.danger-button{font-size:11px;min-height:34px;padding:8px 11px}
.pasture-caption{font-size:8px}.pasture-bottom{font-size:9px}.motion-button{font-size:9px}.weather-badge{font-size:9px}.weather-badge a{font-size:8px}
.animal-card .animal-name{font-size:11px}.animal-card .animal-number{font-size:22px}.herd-total{font-size:10px;padding:6px 10px}
.conversion-panel h2{font-size:15px}.conversion-chain,.conversion-panel p,.rules,.history-row{font-size:10px}.history-heading h2{font-size:14px}.history-heading span,.history-row time{font-size:9px}
.overall-progress,.table-toolbar,.task-title-button,.priority-select,.due-input,.task-progress,.child-title{font-size:10px}.task-meta,.sub-add-button,.toolbar-note,.column-headings,.workspace-footer{font-size:9px}
.user-email,.local-indicator,.backup-link{font-size:9px}.field{font-size:10px}.field input,.field select,.field textarea{font-size:11px}.field small,.form-help{font-size:9px}
@media(max-width:650px){body{font-size:12px}.breadcrumbs{font-size:9px}.mini-count{font-size:9px}h1{font-size:22px}.page-heading p{font-size:10px}.weather-badge{font-size:8px}.pasture-bottom{font-size:9px}.animal-card .animal-name{font-size:10px}.animal-card .animal-number{font-size:20px}.conversion-panel h2{font-size:14px}.conversion-chain{font-size:10px}.brand{font-size:17px}.nav-button{font-size:11px}}

/* Raise the compact scale by 35% for comfortable reading. */
body{font-size:16px;line-height:1.5}
.brand{font-size:23px}.brand small{font-size:12px}.nav-button{font-size:15px;min-height:40px}.nav-count,.section-label{font-size:12px}
.breadcrumbs{font-size:14px}.topbar{min-height:66px}.mini-count{font-size:12px}.animal-mini{width:30px;height:25px}
h1{font-size:32px}.page-heading{min-height:62px}.page-heading p{font-size:15px}.eyebrow{font-size:12px}.heading-actions .primary-button,button.primary-button,button.secondary-button,button.danger-button{font-size:15px;min-height:40px;padding:9px 14px}
.pasture-caption{font-size:11px}.pasture-bottom{font-size:12px}.motion-button{font-size:12px}.weather-badge{font-size:12px}.weather-badge a{font-size:11px}
.animal-card .animal-name{font-size:15px}.animal-card .animal-number{font-size:30px}.herd-total{font-size:14px}
.conversion-panel h2{font-size:20px}.conversion-chain,.conversion-panel p,.rules,.history-row{font-size:14px}.history-heading h2{font-size:19px}.history-heading span,.history-row time{font-size:12px}
.overall-progress,.table-toolbar,.task-title-button,.priority-select,.due-input,.task-progress,.child-title{font-size:14px}.task-meta,.sub-add-button,.toolbar-note,.column-headings,.workspace-footer{font-size:12px}
.user-email,.local-indicator,.backup-link{font-size:12px}.field{font-size:14px}.field input,.field select,.field textarea{font-size:15px}.field small,.form-help{font-size:12px}
@media(max-width:650px){body{font-size:16px}.breadcrumbs{font-size:12px}.mini-count{font-size:12px}h1{font-size:30px}.page-heading p{font-size:14px}.weather-badge{font-size:11px}.pasture-bottom{font-size:12px}.animal-card .animal-name{font-size:14px}.animal-card .animal-number{font-size:27px}.conversion-panel h2{font-size:19px}.conversion-chain{font-size:14px}.brand{font-size:23px}.nav-button{font-size:15px}}

.brand-mark{display:block;width:48px;height:48px;object-fit:contain;flex:0 0 auto;background:transparent;border:0;border-radius:0}
.auth-brand .brand-mark{width:58px;height:58px}
@media(max-width:650px){.brand-mark{width:44px;height:44px}.auth-brand .brand-mark{width:52px;height:52px}}

.admin-heading{margin-bottom:24px}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}.admin-stats article{border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#f8faf5,#f3f6ef);padding:17px 19px}.admin-stats span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.admin-stats strong{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.admin-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff}.admin-table{width:100%;border-collapse:collapse;min-width:710px}.admin-table th,.admin-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:13px}.admin-table th{color:var(--muted);font-weight:500;background:#f8faf6}.admin-table tbody tr:last-child td{border-bottom:0}.admin-account{display:flex;align-items:center;gap:10px}.admin-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green-wash);color:var(--green-dark);font-weight:600;text-transform:uppercase;flex:0 0 auto}.admin-account span{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis}.admin-role-cell{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:var(--green-wash);color:var(--green-dark);font-size:11px}.admin-badge.member{background:#f0f1ed;color:var(--muted)}.admin-role-button{white-space:nowrap;font-size:12px;padding:7px 10px;min-height:32px}.admin-note{font-size:12px;color:var(--muted);margin-top:12px}@media(max-width:650px){.admin-stats{grid-template-columns:1fr}.admin-stats article{display:flex;align-items:center;justify-content:space-between;padding:12px 15px}.admin-stats span{margin:0}.admin-stats strong{font-size:22px}.admin-heading{align-items:flex-start}.admin-heading .secondary-button{flex-shrink:0}}

.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-table{min-width:850px}.admin-role-cell{align-items:flex-start;min-width:300px}.admin-badges,.admin-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-row-actions{justify-content:flex-end}.admin-badge.banned{background:#f7e7e1;color:var(--danger)}.admin-feedback-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:38px 0 14px}.admin-feedback-heading .eyebrow{margin-bottom:4px}.admin-feedback-heading h2{font-size:22px}.admin-feedback-heading>span{font-size:12px;color:var(--green);background:var(--green-wash);padding:5px 9px;border-radius:999px}.admin-feedback{display:grid;gap:10px}.feedback-card{border:1px solid var(--line);border-radius:11px;padding:15px 17px;background:#fff}.feedback-card.new{border-left:4px solid var(--green);background:#fbfcf8}.feedback-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:9px}.feedback-card-head strong,.feedback-card-head time{display:block}.feedback-card-head strong{font-size:13px}.feedback-card-head time{font-size:11px;color:var(--muted);margin-top:3px}.feedback-card p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-status-button{font-size:11px!important;min-height:32px!important;padding:6px 9px!important}.blocked-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 20%,#f4f7ed,#e5ebdc)}.blocked-card{width:min(560px,100%);background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:42px;text-align:center;box-shadow:0 20px 70px #27361b15}.blocked-card .brand-mark{margin:0 auto 24px;width:72px;height:72px}.blocked-card h1{font-size:29px;margin:7px 0 14px}.blocked-card>p{color:var(--muted);font-size:15px;white-space:pre-wrap}.blocked-card .blocked-until{margin-top:13px;color:var(--danger);font-size:13px}.blocked-actions{display:flex;justify-content:center;gap:9px;margin-top:26px}.sidebar-bottom .backup-link{width:100%}@media(max-width:850px){.admin-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.admin-stats{grid-template-columns:1fr 1fr}.admin-role-cell{min-width:280px}.blocked-card{padding:30px 22px}.blocked-card h1{font-size:25px}.blocked-actions{flex-direction:column}.blocked-actions button{width:100%}}

.forgot-button{display:block;margin:12px auto 0;text-align:center}.notification-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 18px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#f8faf5}.notification-toggle{display:flex;align-items:flex-start;gap:11px;min-width:0}.notification-toggle input{margin-top:2px}.notification-toggle span{display:grid;gap:3px}.notification-toggle strong{font-size:14px;font-weight:550}.notification-toggle small{font-size:12px;color:var(--muted)}.recurring-text{color:var(--green-dark)}@media(max-width:560px){.notification-setting{align-items:stretch;flex-direction:column}.notification-setting>button{align-self:flex-start}}

/* Insights, calendar and achievements share the existing quiet green palette. */
.insight-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0}.stat-card,.insight-panel{border:1px solid var(--line);border-radius:14px;background:#fff;padding:22px}.stat-card span{font-size:13px;color:var(--muted);display:block}.stat-card strong{display:block;font-size:34px;font-weight:600;line-height:1.4;margin-top:9px;color:var(--green-dark)}.insight-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:18px}.insight-panel{margin:18px 0}.insight-grid .insight-panel{margin:0}.insight-panel h2{font-size:18px;margin-bottom:14px}.week-bars{height:195px;display:flex;gap:10px;align-items:flex-end;justify-content:space-around}.week-bar{flex:1;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}.week-bar .bar{width:65%;border-radius:5px 5px 0 0;background:linear-gradient(#88a976,#456a3b)}.week-bar strong{font-weight:500;color:var(--ink)}.growth-chart svg{width:100%;display:block}.chart-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:12px}.chart-data{font-size:13px;margin:12px 0;overflow:auto}.chart-data table{width:100%;border-collapse:collapse}.chart-data td,.chart-data th{padding:7px;text-align:left;border-bottom:1px solid var(--line)}.chart-data summary{cursor:pointer;color:var(--green-dark)}.sync-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;background:#fff7dc;border:1px solid #e6d7a2;border-radius:9px;font-size:13px;margin-bottom:20px}.sync-hint,.pending-label{color:#987539}.calendar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:24px 0 16px}.calendar-controls button{font-size:13px}.calendar-period{font-size:16px;margin-right:auto;padding:0 12px}.calendar-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:13px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-width:700px;background:var(--line);gap:1px}.calendar-weekday{background:var(--side);padding:11px 8px;font-size:12px;text-align:center}.calendar-day{background:#fff;min-height:120px;padding:8px;transition:background .15s}.calendar-day.outside{background:#f8faf6;color:#90988c}.calendar-day.is-today{background:#edf5e7}.calendar-day.drop-target{background:#dbeace;outline:2px solid var(--green);outline-offset:-2px}.calendar-date{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin-bottom:8px}.day-add{background:transparent;border-radius:5px;width:26px;height:26px;color:var(--muted);font-size:18px}.day-add:hover{background:var(--green-wash)}.calendar-task{display:block;width:100%;background:#eef3e8;border:1px solid transparent;border-left:3px solid #7e9c65;border-radius:5px;text-align:left;font-size:12px;padding:6px;margin-bottom:5px;overflow-wrap:anywhere}.calendar-task.high{border-left-color:#b88267;background:#faf0e9}.calendar-task.low{border-left-color:#b2bba9;background:#f1f3ee}.calendar-task.projected{background:transparent;border:1px dashed #aabb98;color:var(--muted)}.calendar-task.done{text-decoration:line-through;opacity:.65}.calendar-grid.week .calendar-day{min-height:300px}.undated-task{display:inline-block;padding:8px 12px;border-radius:7px;background:var(--side);margin:4px;font-size:14px}.level-card{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#eaf1e3;border:1px solid #d6e2c9;border-radius:15px;padding:24px;margin:26px 0 16px}.level-emblem{width:58px;height:58px;border-radius:50%;background:var(--green-dark);color:#fff;display:grid;place-items:center;font-size:28px}.level-copy{font-size:22px;font-weight:600}.level-card progress{flex:1;min-width:100px;height:10px;accent-color:var(--green)}.level-card>span{font-size:13px;color:var(--muted)}.streak-strip{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;margin-bottom:8px}.streak-strip span{color:var(--muted)}.achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.achievement{border:1px solid var(--line);border-radius:12px;padding:20px 12px;text-align:center;background:#fafbf9;color:var(--muted)}.achievement.earned{background:#f3f7eb;color:var(--green-dark);border-color:#d2dfc3}.badge-symbol{font-size:30px;display:block;margin-bottom:7px}.achievement h3,.decor-card h3{font-size:15px;margin:5px 0}.achievement p,.decor-card p{font-size:12px;margin-bottom:8px}.achievement small{font-size:12px}.decor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.decor-card{border-radius:10px;padding:18px;text-align:center;background:var(--side)}.decor-icon{font-size:38px}.decor-card button{font-size:13px!important}.naming-row{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding:12px 0}.naming-row canvas{width:70px;height:50px}.naming-row strong{font-size:14px;min-width:80px}.naming-row select{flex:1;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:#fff}.naming-row button{font-size:13px!important}.pasture-decor{position:absolute;left:18%;bottom:23%;display:flex;gap:10px;pointer-events:none}.pasture-decoration{font-size:40px;filter:drop-shadow(0 4px 2px #26341b20)}.security-settings{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.security-settings>p{font-size:13px;margin-bottom:10px}.security-settings .danger-button{margin-top:15px;padding-left:0}.audit-row{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.audit-row span:nth-child(2),.audit-row time{color:var(--muted);overflow-wrap:anywhere}.audit-row time{font-size:12px}#sync-values{font-family:inherit;font-size:13px;background:var(--side);padding:15px;border-radius:8px;white-space:pre-wrap;max-height:270px;overflow:auto}#delete-data-dialog p{font-size:14px;margin:16px 0}#animal-form h2{margin-bottom:20px}#offline-ready{font-size:11px;color:var(--muted);margin-top:5px}.calendar-task:focus-visible{outline:2px solid var(--green-dark);outline-offset:2px}
@media(max-width:1000px){.insight-stats,.achievement-grid{grid-template-columns:repeat(2,1fr)}.insight-grid{grid-template-columns:1fr}.calendar-period{order:-1;width:100%;padding:0;margin-bottom:8px}.naming-row{flex-wrap:wrap}.audit-row{grid-template-columns:1fr}.pasture-decoration{font-size:30px}}
@media(max-width:650px){.stat-card,.insight-panel{padding:16px}.stat-card strong{font-size:28px}.stat-card span{font-size:12px}.insight-stats{gap:10px}.decor-grid{grid-template-columns:1fr}.decor-card{display:grid;grid-template-columns:50px 1fr;align-items:center;text-align:left;column-gap:12px}.decor-icon{grid-row:1/4}.decor-card button{justify-self:start}.level-card{padding:18px;gap:12px}.level-copy{font-size:18px}.level-card progress{flex-basis:100%}.sync-banner{flex-direction:column;align-items:flex-start}.calendar-day{min-height:115px}.pasture-decor{left:20%;bottom:25%;gap:2px}.pasture-decoration{font-size:25px}}

/* Habits, friends and focus keep the product's calm, compact working-surface rhythm. */
.habit-heading,.friend-heading{align-items:flex-end}.habit-add,.friend-add{display:flex;gap:8px;min-width:min(410px,100%)}.habit-add input,.friend-add input{flex:1;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:var(--paper);color:var(--ink);font:inherit}.habit-summary{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:var(--green-wash);border-radius:12px;padding:14px 18px;margin:22px 0}.habit-summary strong{font-size:25px;color:var(--green-dark)}.habit-summary span:last-child{margin-left:auto;color:var(--muted)}.habit-list{display:grid;gap:9px}.habit-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:12px 15px}.habit-row.complete{background:var(--green-wash)}.habit-check{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--green);background:transparent;color:white;font-size:19px}.habit-row.complete .habit-check{background:var(--green)}.habit-copy{display:grid;gap:3px}.habit-copy small{color:var(--muted)}.habit-delete{font-size:12px}.habit-calendar{margin-top:20px}.habit-streak-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.habit-day{display:block;aspect-ratio:1;border-radius:5px;background:#e7ebe4;border:1px solid #dbe1d6}.habit-day.marked{background:var(--green);border-color:var(--green-dark)}
.friend-layout{display:grid;grid-template-columns:1.45fr .85fr;gap:18px}.friend-request{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border-top:1px solid var(--line);padding:10px 0}.friend-request small{grid-column:1}.friend-card{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:15px 0}.friend-main{display:grid;align-content:start;gap:4px}.friend-main small,.pending-friend{color:var(--muted)}.friend-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.friend-gifts{display:flex;align-items:center;gap:4px}.friend-gifts button{font-size:12px}.friend-gifts small{color:var(--muted)}.danger-text{color:var(--danger)}.rank-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:11px 0;border-top:1px solid var(--line)}.rank-place{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--green-wash);color:var(--green-dark)}.gift-received{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f6f1dc;border:1px solid #e9deb4;border-radius:10px;padding:12px 15px;margin:18px 0}.gift-received span{font-size:13px}.pending-title{font-size:14px;margin-top:18px}.friend-herd{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}.friend-herd div{background:var(--side);border-radius:8px;padding:14px 8px;text-align:center}.friend-town-body h2{margin-top:5px}
.focus-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:22px;padding:0;background:transparent}.focus-dialog::backdrop{background:#14201999;backdrop-filter:blur(4px)}.focus-shell{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:28px;text-align:center}.focus-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.focus-time{font-size:clamp(64px,11vw,92px);font-variant-numeric:tabular-nums;letter-spacing:-4px;line-height:1;margin:28px 0;color:var(--green-dark)}.focus-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.focus-shell>p{max-width:380px;margin:22px auto 0;color:var(--muted);font-size:14px}.focus-dialog[data-phase=break] .focus-time{color:#9b7442}.focus-launch{background:#ffffffb8;padding:7px 11px;border-radius:9px;color:#294b35}.pasture[data-night=true] .focus-launch{background:#172a40bb;color:#eef5ef}
html[data-theme=dark] .habit-row,html[data-theme=dark] .habit-add input,html[data-theme=dark] .friend-add input{background:#1b1d21}html[data-theme=dark] .habit-day{background:#292d33;border-color:#383d44}html[data-theme=dark] .habit-day.marked{background:#687a94}html[data-theme=dark] .gift-received{background:#332f20;border-color:#514a2f}html[data-theme=dark] .focus-shell{background:#17191d}
@media(max-width:850px){.friend-layout{grid-template-columns:1fr}.habit-heading,.friend-heading{align-items:stretch}.habit-add,.friend-add{width:100%}.friend-card{flex-direction:column}.friend-actions{justify-content:flex-start}}
@media(max-width:650px){.habit-add,.friend-add{flex-direction:column}.habit-row{grid-template-columns:38px 1fr}.habit-delete{grid-column:2;justify-self:start}.habit-streak-grid{gap:5px}.friend-request{grid-template-columns:1fr 1fr}.friend-request small{grid-column:1/-1}.friend-herd{grid-template-columns:repeat(2,1fr)}.focus-shell{padding:22px 16px}.focus-time{font-size:62px}}
.decor-icon{display:inline-block;width:100px;height:75px}.pasture-decoration{display:block;width:90px;height:68px}#offline-ready{display:block}@media(max-width:650px){.decor-icon{width:50px;height:45px}.pasture-decoration{width:65px;height:49px}}
.dog-name{flex:1;color:var(--muted);font-size:13px}.naming-row:has(.dog-name) canvas{width:82px;height:58px}

/* Dark theme feature surfaces. Keep these after feature styles so their colors win the cascade. */
html[data-theme=dark] .nav-button:hover{background:#1f242a;color:var(--ink)}
html[data-theme=dark] .nav-button.active{background:#2a3039;color:#f2f4f7}
html[data-theme=dark] .nav-button.active .nav-count{color:#c4cad3}
html[data-theme=dark] .admin-stats article{background:linear-gradient(145deg,#1f2329,#1b1d21);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .admin-stats span{color:#b3b9c1}
html[data-theme=dark] .admin-stats strong{color:#edeff3}
html[data-theme=dark] .admin-table-wrap{background:#1b1d21;border-color:var(--line)}
html[data-theme=dark] .admin-table{color:var(--ink)}
html[data-theme=dark] .admin-table th{background:#21252b;color:#b6bcc4}
html[data-theme=dark] .admin-table td{background:#1b1d21;border-color:var(--line);color:#e4e8ee}
html[data-theme=dark] .admin-table tbody tr:hover td{background:#1f242a}
html[data-theme=dark] .admin-avatar{background:#2b323c;color:#d2ddec}
html[data-theme=dark] .admin-badge{background:#2b323c;color:#d2ddec}
html[data-theme=dark] .admin-badge.member{background:#282c31;color:#bbc0c8}
html[data-theme=dark] .admin-badge.banned{background:#3a2925;color:#efc0ae}
html[data-theme=dark] .feedback-card,
html[data-theme=dark] .feedback-card.new{background:#1b1d21;border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .feedback-card.new{background:#1f242b;border-left-color:var(--green)}
html[data-theme=dark] .notification-setting{background:#1f2329;border-color:var(--line)}
html[data-theme=dark] .stat-card,
html[data-theme=dark] .insight-panel{background:#1b1d21;border-color:var(--line);color:var(--ink)}
html[data-theme=dark] .stat-card strong{color:#bdcce1}
html[data-theme=dark] .sync-banner{background:#342f20;border-color:#5d5432;color:#eadca8}
html[data-theme=dark] .calendar-weekday{background:#1f2328;color:#bcc1c9}
html[data-theme=dark] .calendar-day{background:#1b1d21;color:var(--ink)}
html[data-theme=dark] .calendar-day.outside{background:#17191c;color:#7e848c}
html[data-theme=dark] .calendar-day.is-today{background:#252b34}
html[data-theme=dark] .calendar-day.drop-target{background:#2e3642}
html[data-theme=dark] .calendar-task{background:#282f39;color:var(--ink)}
html[data-theme=dark] .calendar-task.high{background:#3b2d28;color:#efc7b2}
html[data-theme=dark] .calendar-task.low{background:#282c31;color:#cacfd5}
html[data-theme=dark] .calendar-task.projected{background:transparent;color:#a8aeb6;border-color:#5d6672}
html[data-theme=dark] .level-card{background:#232932;border-color:#39404b;color:var(--ink)}
html[data-theme=dark] .achievement,
html[data-theme=dark] .decor-card{background:#1f2328;border-color:var(--line);color:#b4b9c1}
html[data-theme=dark] .achievement.earned{background:#282e37;border-color:#3e4857;color:#c0cee1}
html[data-theme=dark] .naming-row select{background:#1b1d21;color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .blocked-screen{background:radial-gradient(circle at 50% 20%,#1f242a,#141619)}
html[data-theme=dark] .blocked-card{background:#1b1d21;border-color:var(--line);color:var(--ink);box-shadow:0 20px 70px #0006}
html[data-theme=dark] .danger-button:hover{background:#3a2925}

.feeding-panel{border:1px solid var(--line);border-radius:14px;padding:20px;margin:0 0 18px;background:var(--paper)}.feeding-header{display:flex;justify-content:space-between;align-items:start;gap:16px}.feeding-header h2{font-size:18px;margin:0 0 4px}.feeding-header p{font-size:13px;color:var(--muted);margin:0}.feed-balance{white-space:nowrap;font-size:15px;color:var(--green-dark)}.feeding-list{display:grid;gap:8px;margin-top:18px;max-height:370px;overflow:auto}.feeding-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}.feeding-label{display:grid;gap:4px}.feeding-label strong{font-size:14px;font-weight:600}.feeding-label small{font-size:12px;color:var(--muted)}.feeding-actions{display:flex;gap:6px}.feeding-actions button{font-size:12px;padding:7px 10px}.request-status{font-size:11px;color:var(--green-dark);background:var(--green-wash);border-radius:99px;padding:4px 8px}.request-status.declined{color:#a35e44;background:#f7e8de}.pending-friend{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.growth-notice-body h2{font-size:26px;margin:12px 0}.growth-notice-body p{line-height:1.6;color:var(--muted);font-size:15px}.growth-notice-body button{margin-top:15px}html[data-theme=dark] .feeding-panel{background:#1b1d21}html[data-theme=dark] .request-status.declined{background:#3a2925;color:#efc0ae}@media(max-width:650px){.feeding-header,.feeding-row{align-items:flex-start;flex-direction:column}.feeding-actions{flex-wrap:wrap}}

/* Habit history is a compact calendar, with dates and daily completion counts. */
.habit-calendar-head h2{margin:0 0 4px}.habit-calendar-head p{font-size:12px;color:var(--muted);margin:0 0 18px}.habit-weekdays,.habit-streak-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:640px}.habit-weekdays{margin-bottom:6px}.habit-weekdays span{text-align:center;font-size:11px;font-weight:600;color:var(--muted)}.habit-day{appearance:none;width:100%;height:54px;aspect-ratio:auto;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--side);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.habit-day:hover:not(:disabled){border-color:var(--green);background:var(--green-wash)}.habit-day.marked{background:#e8f1e1;border-color:#bfd1b2}.habit-day.is-today{border:2px solid var(--green);padding:6px 8px}.habit-day.selected{outline:2px solid var(--green-dark);outline-offset:2px}.habit-day.is-future{opacity:.38;cursor:default}.habit-date{font-size:13px;font-weight:600;line-height:1}.habit-count{font-size:10px;line-height:1;color:var(--muted)}.habit-day.marked .habit-count{color:var(--green-dark);font-weight:700}.habit-calendar-legend{display:flex;flex-wrap:wrap;gap:16px;margin:15px 0 16px;font-size:11px;color:var(--muted)}.habit-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.habit-calendar-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;border:1px solid var(--line);background:var(--side)}.habit-calendar-legend .legend-marked{background:#e8f1e1;border-color:#bfd1b2}.habit-calendar-legend .legend-today{border:2px solid var(--green);background:var(--paper)}.habit-day-detail{border-top:1px solid var(--line);padding-top:14px;min-height:58px}.habit-day-detail strong{font-size:13px}.habit-day-detail p,.habit-day-detail li{font-size:12px;color:var(--muted);margin:7px 0 0}.habit-day-detail ul{padding-left:17px;margin:5px 0 0}html[data-theme=dark] .habit-day{background:#22262c;border-color:#383d45;color:var(--ink)}html[data-theme=dark] .habit-day.marked{background:#2f3844;border-color:#566984}html[data-theme=dark] .habit-day:hover:not(:disabled){background:#313944}html[data-theme=dark] .habit-day.is-today{border-color:#87a1c6}html[data-theme=dark] .habit-calendar-legend .legend-marked{background:#2f3844;border-color:#566984}html[data-theme=dark] .habit-calendar-legend .legend-today{background:#1b1d21;border-color:#87a1c6}@media(max-width:650px){.habit-weekdays,.habit-streak-grid{gap:4px}.habit-day{height:46px;padding:5px 6px}.habit-day.is-today{padding:4px 5px}.habit-date{font-size:12px}.habit-count{font-size:9px}.habit-calendar-legend{gap:9px}}
.habit-date-line{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:2px}.habit-month{font-size:9px;color:var(--muted);white-space:nowrap}@media(max-width:650px){.habit-month{font-size:8px}}

/* Keep today's habits beside their calendar when there is room. */
.habit-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,.85fr);gap:18px;align-items:start}.habit-layout .habit-calendar,.habit-list-panel{margin:20px 0 0;min-width:0}.habit-layout .habit-weekdays,.habit-layout .habit-streak-grid{max-width:none}.habit-list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.habit-list-heading h2{margin:0;font-size:18px}.habit-list-heading span{font-size:11px;color:var(--muted);white-space:nowrap}.habit-list-panel .habit-row{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:11px 10px}.habit-list-panel .habit-check{width:32px;height:32px}.habit-list-panel .habit-copy{min-width:0}.habit-list-panel .habit-copy strong{font-size:13px;overflow-wrap:anywhere}.habit-list-panel .habit-copy small{font-size:10px}.habit-list-panel .habit-delete{font-size:11px}.habit-list-panel .habit-list{max-height:590px;overflow:auto}

#friend-town-dialog{width:min(760px,calc(100% - 28px))}.friend-profile-header h2{font-size:25px;overflow-wrap:anywhere}.friend-profile-header p{font-size:13px;color:var(--muted);margin-top:5px}.friend-profile-title{font-size:16px;margin:22px 0 10px}.friend-herd{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}.friend-herd .friend-animal-card{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 5px;border:1px solid var(--line);background:var(--side);border-radius:10px}.friend-animal-card canvas{display:block;width:min(100%,130px);height:auto;aspect-ratio:160/108}.friend-animal-card strong{font-size:12px;font-weight:550}.friend-animal-card span{font-size:19px;font-weight:600;color:var(--green-dark)}.friend-best-streak{margin-top:12px;color:var(--muted);font-size:12px}.friend-achievements{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.friend-achievement{display:grid;justify-items:center;align-content:start;gap:3px;border:1px solid var(--line);border-radius:10px;padding:12px 6px;background:var(--side);text-align:center;opacity:.56}.friend-achievement.earned{opacity:1;background:var(--green-wash);border-color:#b9cfad}.friend-achievement .badge-symbol{font-size:22px;margin:0;color:var(--green-dark)}.friend-achievement strong{font-size:11px;line-height:1.3}.friend-achievement small{font-size:10px;color:var(--muted)}html[data-theme=dark] .friend-achievement.earned{background:#282e37;border-color:#3e4857}

@media(max-width:850px){.habit-layout{display:flex;flex-direction:column;gap:0}.habit-list-panel{order:-1;width:100%}.habit-layout .habit-calendar{width:100%}.habit-list-panel .habit-list{max-height:none}.friend-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.friend-heading>div,.friend-add{min-width:0;width:100%}.friend-add{max-width:580px}.friend-add input{min-width:0;font-size:16px}}
@media(max-width:650px){.habit-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:15px}.habit-heading>div,.habit-add{min-width:0;width:100%}.habit-add{display:grid;grid-template-columns:minmax(0,1fr) auto}.habit-add input{min-width:0;font-size:16px}.habit-add button{white-space:nowrap}.habit-summary{flex-wrap:wrap;gap:5px 10px}.habit-summary strong{font-size:21px}.habit-summary span:last-child{width:100%;margin:0}.habit-layout .habit-calendar,.habit-list-panel{margin-top:14px}.friend-add{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.friend-add input,.friend-add button{width:100%;min-height:44px}.friend-request{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-request>div:first-child,.friend-request small{grid-column:1/-1}.friend-request button{width:100%;min-height:38px}.friend-card{gap:10px}.friend-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.friend-actions>.secondary-button{grid-column:1/-1}.friend-gifts{grid-column:1/-1;flex-wrap:wrap}.friend-achievements{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-herd{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-herd .friend-animal-card:last-child{grid-column:1/-1}.friend-animal-card canvas{width:min(100%,112px)}#friend-town-dialog{padding:20px}.friend-profile-header h2{font-size:21px}}
@media(max-width:1120px){.habit-layout{display:flex;flex-direction:column;gap:0}.habit-list-panel{order:-1;width:100%}.habit-layout .habit-calendar{width:100%}.habit-list-panel .habit-list{max-height:none}}
@media(max-width:650px){.habit-add{grid-template-columns:minmax(0,1fr)}.habit-add input,.habit-add button{width:100%;min-height:44px}}
.assignment-dialog{width:min(510px,calc(100% - 24px));max-height:min(90vh,760px);border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #17261a3d}.assignment-dialog::backdrop{background:#13231999;backdrop-filter:blur(3px)}.assignment-form{display:grid;gap:14px}.assignment-form h2{font-size:22px;line-height:1.3;overflow-wrap:anywhere}.assignment-field{display:grid;gap:5px;min-width:0;font-size:14px;font-weight:550}.assignment-field input,.assignment-field select,.assignment-field textarea{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px;font-weight:400}.assignment-field textarea{resize:vertical}.assignment-form .form-help{font-size:12px}.assignment-form-actions{display:flex;justify-content:flex-end;gap:9px}.assignment-section{margin-top:20px}.assignment-section h2{margin-bottom:10px}.assignment-card{border-top:1px solid var(--line);padding:13px 0;display:grid;gap:5px}.assignment-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.assignment-card-head strong{font-size:14px;overflow-wrap:anywhere}.assignment-card-head span,.assignment-card small{font-size:12px;color:var(--muted)}.assignment-notes{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.assignment-actions,.assignment-status-line{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.assignment-status-line{justify-content:space-between}.assignment-status{font-size:12px;color:var(--muted)}.assignment-status.accepted{color:var(--green-dark)}.assignment-status.declined,.assignment-status.cancelled{color:var(--danger)}html[data-theme=dark] .assignment-field input,html[data-theme=dark] .assignment-field select,html[data-theme=dark] .assignment-field textarea{background:#1b1d21}
@media(max-width:650px){.assignment-dialog{padding:18px}.assignment-form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-form-actions button{width:100%}.assignment-card-head{display:grid;gap:2px}.assignment-actions{justify-content:stretch}.assignment-actions button{flex:1}.assignment-status-line{gap:8px}}

/* Corner theme switch, independent of the app's task and navigation buttons. */
.theme-toggle{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:24;display:block;width:74px;height:40px;padding:0;border:1px solid #b8cbb6;border-radius:999px;background:linear-gradient(125deg,#f5e3b5,#dcebd4);box-shadow:0 8px 24px #15261c2b,inset 0 1px 2px #fff8;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .25s,border-color .25s,box-shadow .25s}
.theme-toggle:hover{box-shadow:0 10px 28px #15261c38,inset 0 1px 2px #fff8}.theme-toggle:focus-visible{outline:3px solid var(--green-dark);outline-offset:4px}
.theme-toggle-thumb{position:absolute;top:4px;left:4px;z-index:1;width:30px;height:30px;border-radius:50%;background:#fffdf5;box-shadow:0 2px 7px #263c2852;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .25s}
.theme-toggle-icon{position:absolute;top:0;z-index:2;display:grid;place-items:center;width:36px;height:38px;font-family:'Segoe UI Symbol','Segoe UI',sans-serif;font-size:19px;line-height:1;transition:color .25s,transform .25s}
.theme-toggle-icon.sun{left:1px;color:#b47a29}.theme-toggle-icon.moon{right:1px;color:#718b76}
html[data-theme=dark] .theme-toggle{border-color:#547085;background:linear-gradient(120deg,#263b52,#41586b)}
html[data-theme=dark] .theme-toggle-thumb{background:#eaf2fb;transform:translateX(34px)}
html[data-theme=dark] .theme-toggle-icon.sun{color:#a7abb0}html[data-theme=dark] .theme-toggle-icon.moon{color:#365576}
@media(max-width:650px){.theme-toggle{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:68px;height:38px}.theme-toggle-thumb{width:28px;height:28px}.theme-toggle-icon{width:33px;height:36px;font-size:18px}html[data-theme=dark] .theme-toggle-thumb{transform:translateX(30px)}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-thumb,.theme-toggle-icon{transition:none}}
/* v2 task list: compact rows + quick add */
.column-headings{display:none!important}
.task-row,.task-row:is(*){grid-template-columns:minmax(0,1fr) 14px 32px!important;gap:10px!important;padding:13px 0 11px!important}
.task-title-cell{grid-column:auto!important}
.task-row>.edit-task-button{grid-column:auto!important;grid-row:auto!important;opacity:0;transition:opacity .15s}
.task-group:hover .edit-task-button,.task-group:focus-within .edit-task-button{opacity:1}
@media(pointer:coarse){.task-row>.edit-task-button{opacity:.6}}
.priority-dot{width:9px;height:9px;border-radius:50%;justify-self:center;background:#b9c2ad;flex-shrink:0;display:inline-block}
.priority-dot.high{background:#c8794f;box-shadow:0 0 0 3px #c8794f22}.priority-dot.medium{background:#8aa174}.priority-dot.low{background:transparent;border:1.5px solid #b9c2ad}
.task-meta{align-items:center}
.due-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;background:var(--green-wash);color:var(--green-dark);font-weight:500}
.due-badge.today{background:#e6efd9}.due-badge.overdue{background:#f7e6dd;color:var(--danger)}
.children{padding:0 0 10px 51px!important}.children .sub-add-button{margin-top:4px}
.task-actions{display:none!important}
.editor-sub-add{margin-top:4px}

html[data-theme=dark] .due-badge{background:#293039;color:#c4d1e2}html[data-theme=dark] .due-badge.overdue{background:#3b2d28;color:#e0b49d}
@media(max-width:650px){.children{padding-left:34px!important}}
/* v2 navigation */
.section-label.first{padding-top:0}
.task-tabs{display:flex;gap:4px;margin:0 0 18px;padding:3px;background:var(--side);border-radius:9px;width:max-content}
.task-tab{background:transparent;padding:6px 14px;border-radius:7px;font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:7px}
.task-tab.active{background:var(--paper);color:var(--ink);font-weight:500;box-shadow:0 1px 3px #26331b1a}
.tab-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.bottom-nav{display:none}
@media(max-width:650px){
 .bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--paper);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
 .bottom-tab{background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted);padding:5px 0;border-radius:8px;min-height:48px}
 .bottom-tab.active{color:var(--green-dark);font-weight:600}
 .bottom-tab.active svg{stroke-width:2}
 main{padding-bottom:72px}
 .toast-region{bottom:84px!important}
}
html[data-theme=dark] .task-tabs{background:#1e2024}html[data-theme=dark] .task-tab.active{background:#2a2e33}
@media(max-width:650px){.theme-toggle{bottom:calc(76px + env(safe-area-inset-bottom))!important}}
/* v2 rewards */
.reward-pop{position:absolute;left:50%;top:42%;transform:translate(-50%,0);display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#fffef6ee;color:#3f5a2f;box-shadow:0 10px 30px #26331b33;font-size:16px;pointer-events:none;animation:reward-pop 2.6s ease forwards;z-index:3}
.reward-emoji{font-size:24px}
@keyframes reward-pop{0%{opacity:0;transform:translate(-50%,16px) scale(.8)}12%{opacity:1;transform:translate(-50%,0) scale(1.08)}22%{transform:translate(-50%,0) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-34px)}}
.overdue-notice.soft{background:var(--green-wash);color:var(--green-dark)}
html[data-theme=dark] .reward-pop{background:#252b34ee;color:#d7e0ec}

/* quick add, matched to site form fields */
.quick-add{display:flex;align-items:center;gap:10px;margin:14px 0 6px}
.quick-field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;border:1px solid #dce1d4;border-radius:6px;background:var(--paper);padding:0 11px;min-height:40px;transition:border-color .15s}
.quick-field:focus-within{outline:2px solid #99ae87;outline-offset:1px}
.quick-field input{flex:1;min-width:0;border:0;background:transparent;font-size:15px;padding:9px 0;outline:none!important}
.quick-hints{display:flex;gap:6px;align-items:center;font-size:12px;flex-shrink:0}
.quick-hints:empty{display:none}
.quick-submit{flex-shrink:0}
.quick-submit:disabled{opacity:.45;cursor:default}
html[data-theme=dark] .quick-field{border-color:var(--line);background:transparent}
@media(max-width:650px){.quick-field input{font-size:16px}.quick-submit{padding:8px 12px}}
/* ===== Sky theme (design C) — visual layer only; light mode ===== */
:root{font-family:'Manrope','Segoe UI',system-ui,sans-serif}
html,html[data-theme=light]{--paper:#ffffff;--side:#f3f6fa;--ink:#15202e;--muted:#5a6878;--line:#e1e8f0;--green:#2f62c4;--green-dark:#1b3f80;--green-wash:#e6eefb;--danger:#a8461f;--radius:14px;--sky-bg:#eef3f8;--card:#ffffff;--field-line:#d3dde8;--soft-line:#edf1f6;--track:#e3eaf2;--ink-2:#33475c;--muted-2:#7a8796;--hover:#f1f5fa;--warn-bg:#fdeae2;--warn-fg:#8a3a18;--focus:#9db6e6;--btn:#2f62c4;--btn-hover:#1b3f80;background:var(--sky-bg)}
html[data-theme=dark]{--paper:#18212d;--side:#141c26;--ink:#e8eef6;--muted:#9aa8b8;--line:#253142;--green:#7aa5f5;--green-dark:#b4ccf8;--green-wash:#1d2c45;--danger:#f0a488;--radius:14px;--sky-bg:#0f1620;--card:#18212d;--field-line:#2c3a4d;--soft-line:#212c3b;--track:#253142;--ink-2:#c6d2e0;--muted-2:#8494a7;--hover:#1c2633;--warn-bg:#3a2520;--warn-fg:#f0b39a;--focus:#3d63a8;--btn:#3d6fd6;--btn-hover:#2f5bb5;background:var(--sky-bg);color-scheme:dark}

html[data-theme] body,html[data-theme] main,html[data-theme] .workspace{background:var(--sky-bg)}
html[data-theme] .app-shell{background:var(--sky-bg)}
/* sidebar */
html[data-theme] .sidebar{background:var(--card);border-right:1px solid var(--line)}
html[data-theme] .nav-button{border-radius:12px;color:var(--ink-2)}
html[data-theme] .nav-button:hover{background:var(--hover)}
html[data-theme] .nav-button.active{background:var(--green-wash);color:var(--green-dark);font-weight:700}
html[data-theme] .section-label{font-weight:700;letter-spacing:1px;color:var(--muted-2)}
/* headings */
html[data-theme] h1{font-weight:800;letter-spacing:-1px}
html[data-theme] .eyebrow{letter-spacing:.6px;font-weight:600}
/* topbar + pasture as a rounded card */
html[data-theme] .topbar{background:transparent}
html[data-theme] .pasture{margin:16px 24px 0;border-radius:22px}
@media(max-width:650px){html[data-theme] .pasture{margin:0;border-radius:0 0 22px 22px}}
/* buttons */
html[data-theme] button.primary-button,html[data-theme] button.secondary-button,html[data-theme] button.danger-button{border-radius:14px;font-weight:700;min-height:44px}
html[data-theme] .primary-button{background:var(--btn);color:#fff}
html[data-theme] .primary-button:hover{background:var(--btn-hover)}
html[data-theme] .secondary-button{border-color:var(--field-line)}
/* progress */
html[data-theme] .progress-track{height:8px;background:var(--track);border-radius:4px}
html[data-theme] .progress-track>div{background:var(--green)}
/* tabs → chips */
html[data-theme] .task-tabs{background:transparent;padding:0;gap:8px}
html[data-theme] .task-tab{height:36px;padding:0 14px;border-radius:18px;border:1px solid var(--field-line);color:var(--ink-2);font-weight:600}
html[data-theme] .task-tab.active{background:var(--ink);border-color:var(--ink);color:var(--sky-bg);box-shadow:none}
html[data-theme] .task-tab.active .tab-count{color:#c9d3df}
/* list toolbar quieter */
html[data-theme] .table-toolbar{border-bottom:0;padding-bottom:4px}
/* quick add */
html[data-theme] .quick-field{border-color:var(--field-line);border-radius:16px;min-height:52px;padding:0 16px;background:var(--card)}
html[data-theme] .quick-field:focus-within{outline:2px solid var(--focus);outline-offset:1px}
html[data-theme] .quick-submit{min-height:52px!important;border-radius:16px!important;padding:0 20px}
/* task rows as cards */
html[data-theme] #task-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
html[data-theme] .task-group{border:0!important;background:var(--card);border-radius:18px;padding:0 16px;box-shadow:0 1px 2px #15202e0d}
html[data-theme] .task-group.completed{opacity:.65}
html[data-theme] .task-row{padding:14px 0!important}
html[data-theme] .task-title-button{font-weight:600}
html[data-theme] input[type=checkbox]{width:22px;height:22px;border-radius:7px;border-color:#b6c3d1;margin-top:1px}
html[data-theme] input[type=checkbox]:checked{background:var(--green);border-color:var(--green)}
html[data-theme] .children{padding-left:47px!important;border-top:1px solid var(--soft-line);padding-top:6px!important}
html[data-theme] .due-badge{font-weight:700;border-radius:10px;padding:2px 9px}
html[data-theme] .due-badge.overdue{background:var(--warn-bg);color:var(--warn-fg)}
html[data-theme] .priority-dot.high{background:#d0602f;box-shadow:0 0 0 3px #d0602f22}
html[data-theme] .priority-dot.medium{background:#2f62c4}
/* notices, empty, footer */
html[data-theme] .overdue-notice{border-radius:16px;background:var(--warn-bg);color:var(--warn-fg)}
html[data-theme] .overdue-notice.soft{background:var(--green-wash);color:var(--green-dark)}
html[data-theme] .empty-state{background:var(--card);border-radius:22px;margin-top:10px}
html[data-theme] .empty-symbol{border-radius:16px}
html[data-theme] .workspace-footer{border-top:0}
/* herd + other views: cards */
html[data-theme] .animal-card{background:var(--card);border-radius:18px}
html[data-theme] .conversion-panel{background:var(--card);border:0;border-radius:22px}
html[data-theme] .history-row{border-color:var(--soft-line)}
html[data-theme] .herd-summary{background:var(--card);border-radius:999px;padding:6px 12px}
/* dialogs, fields, toasts */
html[data-theme] dialog{border-radius:22px;border-color:var(--line)}
html[data-theme] .field input,html[data-theme] .field select,html[data-theme] .field textarea{border-color:var(--field-line);border-radius:12px;min-height:46px}
html[data-theme] .toast{border-radius:16px;background:var(--card);color:var(--ink);border-color:var(--line);box-shadow:0 10px 30px #15202e1f}
html[data-theme] .toast.error{background:var(--warn-bg);color:var(--warn-fg)}
/* bottom nav */
html[data-theme] .bottom-nav{background:var(--card);border-top:0;box-shadow:0 -1px 0 var(--line)}
html[data-theme] .bottom-tab.active{color:var(--green)}
/* auth */
html[data-theme] .auth-screen{background:var(--sky-bg)}
html[data-theme] .auth-panel{background:var(--card)}
html[data-theme] .topbar{border-bottom:0!important;box-shadow:none}
@media(max-width:650px){.quick-submit{font-size:0!important;width:52px;padding:0!important;justify-content:center}.quick-submit svg{width:20px;height:20px}}

/* dark-specific touches */
html[data-theme=dark] .task-group{box-shadow:none}
html[data-theme=dark] .pasture{box-shadow:0 0 0 1px var(--line)}
html[data-theme=dark] .due-badge{background:var(--green-wash);color:var(--green-dark)}
html[data-theme=dark] .priority-dot.medium{background:#7aa5f5}
html[data-theme=dark] .task-tab.active .tab-count{color:#5a6878}
html[data-theme=dark] input[type=checkbox]{background:transparent;border-color:#4a5a70}
html[data-theme=dark] .field input,html[data-theme=dark] .field select,html[data-theme=dark] .field textarea,html[data-theme=dark] .quick-field{background:#121a24;color:var(--ink)}
html[data-theme=dark] .toast{background:#1d2735;color:var(--ink)}
html[data-theme=dark] .herd-summary{background:var(--card)}
html[data-theme=dark] .sidebar,html[data-theme=dark] .bottom-nav{background:#121a24}
