@font-face{font-family:Manrope;src:url('/vendor/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}*{box-sizing:border-box}html{background:#f7f9f6;color:#173f32;font-family:Manrope,Arial,sans-serif;font-size:16px}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:wait}button{border:0}a{color:inherit}input,select,textarea{width:100%;border:1px solid #d2ddd4;border-radius:11px;padding:11px 13px;background:white;color:#163d30;min-height:44px}textarea{resize:vertical;min-height:90px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #77a885;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-weight:650;font-size:42px;line-height:1.13;letter-spacing:-1.8px}h2{font-size:21px;font-weight:700;letter-spacing:-.7px}h3{font-size:17px;font-weight:750;letter-spacing:-.3px}p{line-height:1.6}svg{flex-shrink:0}small{font-size:12px}.app{display:flex;min-height:100dvh}.rail{width:235px;background:#fff;border-right:1px solid #e2e8df;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:15;padding:31px 20px}.wordmark{font-size:28px;line-height:.99;font-weight:800;letter-spacing:-1.4px;margin:0 10px 40px}.wordmark .dot{color:#90b65c}.navlabel{font-size:10px;letter-spacing:2px;font-weight:800;color:#82917f;margin:0 15px 13px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;background:transparent;color:#6a7b6f;text-align:left;font-size:14px;font-weight:650}.nav button:hover{background:#f2f6ef}.nav button.active{background:#153e31;color:#fff}.nav .count{margin-left:auto;border-radius:5px;padding:1px 6px;background:#eff5e5;color:#204a37;font-size:11px}.railfoot{margin-top:auto;padding:25px 10px 0;font-size:12px;color:#7c8b7b}.profile{display:flex;align-items:center;gap:9px;padding-top:17px;border-top:1px solid #e6ece3}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dff0c7;font-size:13px;font-weight:800;color:#23472d}.avatar.mark{background:#e4dff6;color:#675190}.avatar.joint{background:#dfeee5}.main{margin-left:235px;min-width:0;flex:1}.top{height:76px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e3e9e0;background:#fff}.top-label{font-size:13px;color:#7c897b}.top-actions{display:flex;align-items:center;gap:14px}.iconbtn{background:white;border:1px solid #dce5d9;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;color:#335540}.page{padding:37px 40px 24px;max-width:1440px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:#85917e;font-weight:750;margin-bottom:10px}.subtitle{font-size:14px;color:#74836f;margin-top:11px;line-height:1.6}.btn{padding:11px 18px;min-height:43px;border-radius:11px;background:#173f32;color:#fff;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.btn:hover{background:#285744}.btn.light{background:#fff;color:#284e38;border:1px solid #d9e2d3}.btn.light:hover{background:#f2f7ee}.btn.lime{background:#ddf2ab;color:#1f412b}.btn.danger{background:#a63d45}.linkbtn{background:none;color:#35683e;display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:750;padding:5px 0}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.segmented{display:inline-flex;background:#eaf0e6;padding:4px;border-radius:10px;gap:3px}.segmented button{padding:8px 13px;background:transparent;border-radius:8px;font-size:13px;color:#72816c;font-weight:650;white-space:nowrap}.segmented button.active{background:#fff;color:#1d472f;box-shadow:0 1px 3px #2947210d}.filters{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:22px}.filters select{width:auto;min-height:39px;padding:8px 30px 8px 12px;font-size:13px}.search{position:relative;flex:1;min-width:200px}.search input{padding-left:40px;font-size:14px}.search svg{position:absolute;top:13px;left:13px;color:#859681}.grid3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:17px;margin-bottom:25px}.stat{border-radius:18px;border:1px solid #dde5d8;background:#fff;padding:24px}.stat.green{background:#173f32;border-color:#173f32;color:white}.stat.lime{background:#e0efbc;border-color:#e0efbc}.stat-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:20px;color:#718067}.green .stat-top{color:#c0d3b7}.stat-value{font-size:33px;line-height:1.2;letter-spacing:-1.6px;font-weight:650}.stat-value span{font-size:12px;font-weight:600;letter-spacing:0;margin-left:5px}.stat-caption{font-size:12px;color:#7b8972;margin-top:10px}.green .stat-caption{color:#c0d3b7}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:22px}.card{background:white;border:1px solid #e0e7da;border-radius:18px;overflow:hidden}.card-pad{padding:23px}.card-head{display:flex;justify-content:space-between;align-items:center;padding:20px 23px;gap:12px;border-bottom:1px solid #edf1e8}.card-head h2{font-size:17px}.pill{display:inline-block;border-radius:6px;background:#eaf3df;color:#517143;font-size:11px;font-weight:700;padding:4px 8px;white-space:nowrap}.pill.amber{background:#fff0d7;color:#8e5f17}.pill.red{background:#fde9e9;color:#a33f48}.pill.mark{background:#eee8f8;color:#705291}.pill.george{background:#edf1cf;color:#637733}.pill.joint{background:#e4f0e6;color:#346b42}.row{display:flex;gap:13px;align-items:center;width:100%;text-align:left;background:#fff;padding:17px 21px;border-bottom:1px solid #edf1e8;color:#234a36}.row:hover{background:#fafcf7}.row:last-child{border-bottom:0}.row-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#eef4e7;color:#567743}.row-icon.pet{background:#f8eadb;color:#9a7652}.row-main{min-width:0;flex:1}.row-title{display:block;font-size:14px;font-weight:750;margin-bottom:6px;overflow-wrap:anywhere}.row-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:12px;color:#7d8b78;line-height:1.5}.row-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:13px;font-weight:700;text-align:right}.welcome{padding:23px;background:#edf4e4;border:1px solid #dae6ca;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:23px}.welcome p{font-size:14px;max-width:610px;margin-top:8px;color:#748465}.empty{text-align:center;padding:34px 22px}.empty-icon{margin:0 auto 14px;background:#eff5e8;color:#688651;width:50px;height:50px;border-radius:15px;display:grid;place-items:center}.empty p{font-size:14px;color:#819075;max-width:320px;margin:9px auto 17px}.pet-card{background:#f9ecdb;border-color:#eddfca}.pet-card p{font-size:14px;color:#8d7960;margin:12px 0 15px}.notice{background:#edf3e7;padding:13px 16px;border-radius:11px;font-size:13px;color:#5c7450;line-height:1.6;margin-bottom:20px}.notice.error{background:#fdecee;color:#a3404c}.notice.warning{background:#fff2dc;color:#886520}.demo-banner{padding:10px 20px;background:#fff0d4;color:#866219;display:flex;justify-content:center;gap:20px;font-size:13px;align-items:center}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#173f32;color:white;border-radius:13px;padding:13px 22px;max-width:90vw;font-size:14px;box-shadow:0 8px 30px #153e3124}.foot{font-size:11px;color:#86917e;display:flex;justify-content:space-between;margin-top:34px;padding-top:19px;border-top:1px solid #e1e8d9;gap:10px}.muted{color:#7d8d75}.hint{font-size:12px;color:#7b8c72;line-height:1.65;margin:13px 0}.calendar-wrap{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:22px;align-items:start}.cal-head{padding:21px;display:flex;justify-content:space-between;align-items:center;gap:10px}.cal-head h2{font-size:24px}.weekdays,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays span{font-size:11px;color:#8a977e;font-weight:700;text-align:center;padding:10px}.day{min-height:94px;padding:9px 6px;background:white;border-top:1px solid #e8eee2;border-right:1px solid #e8eee2;text-align:left;position:relative;color:#426038}.day:nth-child(7n){border-right:0}.day.outside{background:#fafcf8;color:#b1bca7}.day.selected{box-shadow:inset 0 0 0 2px #477646;background:#f2f8eb}.day-num{font-size:12px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;margin-bottom:7px}.day.today .day-num{background:#193f30;color:white}.cal-event{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;border-radius:4px;padding:3px 5px;margin-top:3px;background:#eaf1db;color:#50643c}.cal-event.Mark{background:#eee7f9;color:#70518e}.cal-event.Joint{background:#ddeddf;color:#3d7348}.cal-event.renewal{background:#f7ead3;color:#8d6c33}.agenda-date{display:flex;flex-direction:column;align-items:center;min-width:40px;font-size:11px;text-transform:uppercase;color:#8b987d}.agenda-date strong{font-size:24px;line-height:1.2;color:#46633b}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}.field input,.field select,.field textarea{font-size:15px;font-weight:400}.checklabel{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}.checklabel input{width:17px;height:17px;min-height:0;accent-color:#174333}.modal{width:min(720px,calc(100% - 28px));max-height:92dvh;border:none;border-radius:22px;background:#fff;padding:0;color:#23472f;box-shadow:0 20px 90px #0d2a3150}.modal::backdrop{background:#11241cab;backdrop-filter:blur(3px)}.modal-head{padding:23px 25px 17px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #e6eddf}.modal-head h2{font-size:25px;letter-spacing:-1px;line-height:1.2}.modal-head p{font-size:13px;color:#7a8a70;margin-top:7px}.modal-body{padding:23px 25px;max-height:calc(92dvh - 100px);overflow-y:auto}.modal-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:20px;margin-top:22px;border-top:1px solid #e2e9d9;flex-wrap:wrap}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:9px}.catalog-item{padding:12px;border:1px solid #e1e8d9;border-radius:11px;display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer;min-height:47px}.catalog-item.checked{border-color:#789c59;background:#f0f7e7}.catalog-item input{accent-color:#22482e;width:16px;min-height:16px}.catalog-item small{display:block;color:#88977d;font-size:10px;margin-top:4px}.catalog-sub{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#7e8e70;margin:24px 0 11px}.cat-actions{display:flex;gap:8px;overflow:auto;margin:15px 0}.cat-actions button{padding:7px 12px;white-space:nowrap;border-radius:20px;color:#687e54;font-size:12px;background:#f0f4eb}.cat-actions button.active{background:#1e4733;color:#fff}.bulk-preview{max-height:330px;overflow:auto;border:1px solid #e4eadd;border-radius:10px}.bulk-row{display:flex;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #edf2e7;font-size:12px}.bulk-row input{width:17px;min-height:17px}.bulk-row div{flex:1}.bulk-row small{display:block;color:#7f8f72;line-height:1.5}.bulk-row .problem{color:#a35050}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid .card{padding:25px}.settings-grid h2{margin-bottom:13px}.settings-grid p{font-size:13px;color:#7c8d70;margin-bottom:17px}.mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:15px}.mini-stat{padding:16px;border-radius:11px;background:#f2f7ec}.mini-stat span{display:block;font-size:12px;color:#7c8a70;margin-bottom:9px}.mini-stat strong{font-size:19px;letter-spacing:-.5px}.history-entry{padding:14px 0;border-top:1px solid #e9efe1;font-size:13px}.history-entry strong{display:block;margin-bottom:5px}.bar{height:9px;background:#ebf0e5;display:flex;overflow:hidden;border-radius:20px;margin:17px 0}.bar span{background:#234c36}.bar span:nth-child(2){background:#a4b86a}.bar span:nth-child(3){background:#b7a8d2}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#7a8b6c}.legend i{display:inline-block;width:8px;height:8px;background:#234c36;border-radius:3px;margin-right:6px}.legend span:nth-child(2) i{background:#a4b86a}.legend span:nth-child(3) i{background:#b7a8d2}.list-selection{display:flex;align-items:center;border-bottom:1px solid #edf1e8}.list-selection>input{width:17px;min-height:17px;margin-left:18px;accent-color:#214e35}.list-selection .row{border:0}.mobile-brand,.mobile-nav{display:none}.errorline{color:#a3454d;font-size:13px;padding:8px 0}.scan-text{font-family:monospace;font-size:12px;line-height:1.5;min-height:220px}.source-label{font-size:11px;line-height:1.5;padding:5px 8px;background:#eef3e7;border-radius:5px;color:#7d8d70}.intro{max-width:850px;margin:35px auto}.intro-brand{font-size:48px;font-weight:750;letter-spacing:-2px;line-height:1;margin-bottom:20px}.auth-card{padding:40px;background:white;border:1px solid #dfe7d9;border-radius:22px}.setup-steps li{font-size:14px;color:#5b7152;line-height:1.8;margin:12px 0}.file-input{border:2px dashed #c6d7b7;background:#f8fcf3;padding:22px;border-radius:13px}.file-input input{background:white;border:0;padding:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#648b49;margin-right:6px}@media(min-width:1450px){.page{padding-top:45px}}@media(max-width:1100px){.rail{width:200px;padding:27px 13px}.main{margin-left:200px}.page{padding:30px 24px}.top{padding:0 24px}.split,.calendar-wrap{grid-template-columns:1.45fr 1fr}.stat{padding:21px}.stat-value{font-size:29px}.day{min-height:87px}}@media(max-width:900px){.split,.calendar-wrap{grid-template-columns:1fr}.rail{width:184px}.main{margin-left:184px}.wordmark{font-size:25px}.grid3{gap:11px}.stat{padding:17px}.stat-value{font-size:26px}.settings-grid{grid-template-columns:1fr}h1{font-size:35px}}@media(max-width:700px){.rail{display:none}.main{margin:0}.top{height:66px;padding:0 18px}.top-label{display:none}.mobile-brand{display:block;font-size:22px;font-weight:800;letter-spacing:-1px}.top-actions{gap:10px}.top-actions .saved{display:none}.page{padding:26px 17px 100px}.heading{align-items:flex-start;gap:10px}.heading .btn{font-size:12px;padding:10px 12px}.heading .desktop{display:none}h1{font-size:33px;letter-spacing:-1.3px}.eyebrow{font-size:10px}.subtitle{font-size:13px}.grid3{grid-template-columns:1fr 1fr;gap:10px}.stat.green{grid-column:1/-1}.stat.green .stat-value{font-size:34px}.stat-top{margin-bottom:12px}.stat{padding:20px}.stat-value{font-size:27px}.welcome{display:block}.welcome .btn{margin-top:14px}.mobile-nav{position:fixed;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 7px max(10px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e0e8d9;z-index:30}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;font-size:10px;font-weight:650;color:#93a087;padding:6px 0}.mobile-nav button.active{color:#194631}.mobile-nav button.active svg{background:#e5f0d6;border-radius:7px;box-shadow:0 0 0 6px #e5f0d6}.row{padding:16px 14px;gap:10px}.row-icon{width:35px;height:35px;border-radius:10px}.row-title{font-size:13px}.row-meta{font-size:11px}.row-right{font-size:12px}.card-head{padding:18px}.foot{flex-direction:column;font-size:10px}.calendar-wrap{gap:15px}.cal-head{padding:16px}.cal-head h2{font-size:21px}.day{min-height:71px;padding:6px 3px}.cal-event{font-size:8px;padding:3px}.weekdays span{font-size:10px}.filters{gap:9px}.filters .search{min-width:100%}.segmented{max-width:100%;overflow:auto}.segmented button{font-size:12px;padding:8px 11px}.catalog{grid-template-columns:1fr}.modal-head{padding:20px}.modal-body{padding:20px}.modal{max-height:93dvh;border-radius:18px}.form-grid{gap:15px 12px}.field{font-size:12px}.field input,.field select,.field textarea{font-size:16px}.auth-card{padding:26px}.intro{margin:10px auto}.toast{bottom:100px}.legend{gap:12px}.notice{font-size:12px}.settings-grid .card{padding:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Final layout and accessible control refinements */
.rail nav{display:grid;gap:5px}.rail button.nav{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:11px;background:transparent;color:#526c5e;text-align:left;font-size:14px;font-weight:650}.rail button.nav.active{background:#153e31;color:white}.rail button.nav:hover{box-shadow:inset 0 0 0 1px #b8ccb8}.nav .count{margin-left:auto}.top .profile{border:0;padding:0;white-space:nowrap}.top-actions select{width:82px;font-size:12px}.calendar-wrap{display:block}.row>.row-main{display:block;text-align:left}.row>input[type=checkbox]{width:17px;height:17px;min-height:17px;flex:0 0 17px;accent-color:#173f32}.pet-card{padding:25px;border-radius:18px}.split{margin-bottom:25px}.welcome{display:block}.welcome .actions{margin-top:16px}.intro{padding:25px}.intro .auth-card{margin-top:26px}.auth-card p{margin:16px 0}.intro .subtitle{max-width:640px}.file-input{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}.btn:focus-within{outline:3px solid #77a885;outline-offset:3px}.card-pad>p{margin:12px 0 18px}.card-pad>h2{margin-top:10px}.scan-text{white-space:pre-wrap;overflow-wrap:anywhere}.catalog{max-height:43vh;overflow:auto;margin-top:16px}.catalog-item input{flex:0 0 16px}.catalog-item small{margin:5px 0 0;letter-spacing:0;text-transform:none}.modal-body>.form-grid{margin:18px 0}.modal form>.actions{margin:18px 0}.modal details{margin-top:20px}.bulk-row.problem{background:#fff3ef;color:#993a35}.toast{display:flex;gap:9px;align-items:center}.modal.wide{width:min(850px,calc(100% - 28px))}.row-main.linkbtn{color:#204d37}.subtitle,.muted,.row-meta,.hint,.stat-caption{color:#65775f}.green .stat-caption{color:#d0dfc8}summary{cursor:pointer;font-weight:650}input[type=number]{appearance:textfield}@media(max-width:700px){.top .profile>span:last-child{display:none}.top-actions{gap:6px}.top-actions select{width:72px}.top-actions .iconbtn{width:34px;height:34px}.avatar{width:32px;height:32px}.top{gap:5px;padding:0 12px}.mobile-brand{font-size:20px}.heading{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.grid3>.card{grid-column:1/-1}.row-icon{display:none}.day{min-height:85px}.card-pad{padding:20px}.intro h1{font-size:35px}}
