@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#17211f;--muted:#6f7b77;--line:#e0e6e1;--paper:#f7f8f4;--white:#fff;--leaf:#17694f;--leaf-dark:#10503d;--mint:#d9eee2;--amber:#e9a63c;--amber-soft:#fff0d4;--blue:#55788f;--blue-soft:#e5eff3;--gray-soft:#edf0ed;--shadow:0 12px 32px rgba(32,50,43,0.06)}*{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}html{min-width:320px}body,html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell,.sidebar{min-height:100vh;display:flex}.sidebar{width:246px;flex:0 0 246px;background:#eef3ed;border-right:1px solid #dbe4db;padding:24px 15px 18px;flex-direction:column;z-index:10}.brand-block{display:flex;align-items:center;gap:10px;padding:0 10px 24px}.brand-mark{width:35px;height:35px;display:grid;place-items:center;background:var(--leaf);color:white;border-radius:11px 11px 11px 4px}.brand-name{margin:0;font-size:18px;font-weight:800;letter-spacing:0}.brand-caption{margin:1px 0 0;font-size:10px;color:var(--muted)}.workspace-select{margin:0 3px 26px;padding:10px;background:#f8fbf7;border:1px solid #dce6dc;border-radius:10px;display:flex;align-items:center;gap:9px}.profile-avatar,.top-avatar,.workspace-avatar{display:grid;place-items:center;border-radius:9px;background:#d8ead9;color:var(--leaf-dark);font-size:12px;font-weight:800}.workspace-avatar{width:29px;height:29px}.workspace-copy{flex:1 1;min-width:0}.profile-row strong,.workspace-copy span{display:block;font-size:12px;font-weight:800}.profile-row small,.workspace-copy small{display:block;color:var(--muted);font-size:10px;margin-top:1px}.muted-icon{color:#91a09a}.nav-label{margin:0 10px 8px;color:#8b9890;font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.nav-label-spaced{margin-top:27px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#617068;border-radius:8px;padding:10px 11px;margin:2px 0;text-align:left;font-size:13px;font-weight:600;transition:.16s ease}.nav-item:hover{background:#e2ece3;color:var(--ink)}.nav-item.active{background:var(--leaf);color:white;box-shadow:0 4px 10px rgba(23,105,79,.16)}.nav-count{margin-left:auto;font-family:DM Mono,monospace;font-size:10px;opacity:.7}.sidebar-bottom{margin-top:auto}.offline-note{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px;padding:9px 10px 17px}.online-dot{width:7px;height:7px;display:inline-block;flex:0 0 auto;border-radius:50%;background:#3eaa70;box-shadow:0 0 0 3px rgba(62,170,112,.13)}.online-dot.offline,.sync-chip.offline .online-dot{background:#d18a2b;box-shadow:0 0 0 3px rgba(209,138,43,.14)}.help-link{gap:10px;color:#708078;padding:10px;font-size:12px}.help-link,.profile-row{width:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left}.profile-row{gap:9px;margin-top:16px;padding:12px 7px 0;border-top:1px solid #dbe4db;color:inherit;cursor:pointer}.profile-avatar{width:29px;height:29px;border-radius:50%;font-size:10px}.profile-row div:nth-child(2){flex:1 1}.menu-trigger,.sidebar-close{display:none}.main-content{flex:1 1;min-width:0}.topbar{height:68px;padding:0 clamp(24px,4vw,54px);border-bottom:1px solid var(--line);justify-content:space-between;background:rgba(247,248,244,.9)}.breadcrumb,.topbar,.topbar-actions,.topbar-left{display:flex;align-items:center}.breadcrumb{gap:9px;color:var(--muted);font-size:12px}.breadcrumb strong{color:var(--ink)}.topbar-actions{gap:13px}.sync-chip{display:flex;align-items:center;gap:7px;padding:6px 10px;color:#4a7560;background:#e8f3e9;border-radius:99px;font-size:11px;font-weight:700}.sync-chip.error{color:#9a4e28;background:#fff0e6}.sync-chip.error .online-dot{background:#d47a49;box-shadow:0 0 0 3px rgba(212,122,73,.13)}.list-actions{display:flex;align-items:center;gap:16px}.top-avatar{width:31px;height:31px;border-radius:50%;border:0;cursor:pointer}.notification-button{position:relative}.notification-button>span{position:absolute;top:6px;right:6px;width:7px;height:7px;border:2px solid var(--paper);border-radius:50%;background:#d47a49}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;background:transparent;border:0;color:#6d7a73;border-radius:8px}.icon-button:hover{background:#edf1ec;color:var(--ink)}.icon-button.menu-trigger,.icon-button.sidebar-close{display:none}.page-wrap{max-width:1240px;padding:45px clamp(24px,4vw,54px) 56px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:29px}.eyebrow{margin:0 0 8px;color:var(--leaf);font-family:DM Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:500}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(27px,3vw,38px);line-height:1.1}h1,h2{letter-spacing:0}h2{margin-bottom:0;font-size:17px}h3{margin:3px 0 0;font-size:15px;letter-spacing:0}.heading-subtitle{margin:0;color:var(--muted);line-height:1.6}.heading-actions{display:flex;align-items:center;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px;padding:0 14px;border:1px solid transparent;font-weight:700;font-size:12px;white-space:nowrap}.button.primary{background:var(--leaf);color:white;box-shadow:0 4px 9px rgba(23,105,79,.14)}.button.primary:hover{background:var(--leaf-dark)}.button.secondary{background:var(--white);border-color:var(--line);color:#51615a}.button.secondary:hover{border-color:#b9c7bd}.button.quiet{background:#f3f6f2;border-color:transparent;color:#4f655b}.button.full-width{width:100%;margin-top:12px}.status-banner{display:flex;align-items:center;gap:13px;margin-bottom:24px;background:#e8f1e8;border:1px solid #d5e5d7;border-radius:10px;padding:12px 15px}.banner-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;background:white;color:var(--leaf);border-radius:8px}.status-banner strong{font-size:12px}.status-banner p{margin:3px 0 0;color:#5d7669;font-size:11px}.text-button{border:0;padding:4px 0;display:inline-flex;align-items:center;gap:5px;background:transparent;color:var(--leaf);font-size:11px;font-weight:800;white-space:nowrap}.text-button:hover{color:var(--leaf-dark)}.status-banner .text-button{margin-left:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:31px}.metric-card{min-height:133px;padding:18px;border-radius:10px;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}.metric-card.dark{background:var(--ink);color:white;border-color:var(--ink)}.metric-card.cream{background:#fffaf0;border-color:#f0e7d2}.metric-card.green{background:#e4f1e6;border-color:#d2e7d5}.metric-card.blue{background:#eaf1f2;border-color:#d8e5e8}.metric-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;color:#74817b;font-size:11px;font-weight:700}.metric-card.dark .metric-top{color:#b8c7bf}.metric-card.dark .metric-top svg{color:#9acdad}.metric-card.green .metric-top svg{color:var(--leaf)}.metric-card strong{display:block;font-size:28px;line-height:1;letter-spacing:0}.metric-card small{display:block;margin-top:11px;color:#75827c;font-size:10px}.metric-card.dark small{color:#a9b8b0}.content-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:17px;gap:17px}.section-panel{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:var(--shadow)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:19px}.activity-list,.cage-list{display:flex;flex-direction:column}.cage-row{display:flex;align-items:center;gap:13px;min-height:70px;border-bottom:1px solid #edf0ed}.cage-row:last-child{border-bottom:0}.cage-code{display:grid;place-items:center;width:43px;height:43px;flex:0 0 auto;border-radius:8px;background:#f2f5ef;color:var(--leaf);font-family:DM Mono,monospace;font-size:11px;font-weight:500}.cage-main{flex:1 1;min-width:0}.cage-main strong{display:block;font-size:12px}.cage-main span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.bird-meta i,.cage-main i{display:inline-block;width:3px;height:3px;margin:0 5px 2px;background:#aab6af;border-radius:50%}.cage-side{display:flex;align-items:flex-end;flex-direction:column;gap:4px}.cage-side small{color:var(--muted);font-size:10px}.status-pill{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}.status-pill.green{background:var(--mint);color:#23704f}.status-pill.amber{background:var(--amber-soft);color:#a16a16}.status-pill.blue{background:var(--blue-soft);color:#4e7081}.status-pill.gray{background:var(--gray-soft);color:#68756e}.row-arrow{flex:0 0 auto}.activity-item{display:flex;gap:11px;padding:0 0 20px}.activity-dot{width:9px;height:9px;margin-top:5px;flex:0 0 auto;border-radius:50%}.activity-dot.amber{background:var(--amber)}.activity-dot.green{background:#51a875}.activity-dot.blue{background:#759caf}.activity-item strong{display:block;font-size:11px}.activity-item p{margin:4px 0 5px;color:var(--muted);font-size:10px;line-height:1.5}.activity-item small{color:#9aa59f;font-family:DM Mono,monospace;font-size:9px}.toolbar{justify-content:space-between;gap:14px;margin-bottom:18px}.search-box,.toolbar{display:flex;align-items:center}.search-box{gap:9px;min-width:250px;max-width:365px;flex:1 1;padding:0 11px;height:39px;border:1px solid var(--line);border-radius:8px;background:white;color:#8b9791}.search-box input{width:100%;outline:0;border:0;background:transparent;color:var(--ink);font-size:12px}.search-box input::placeholder{color:#a1ada7}kbd{padding:2px 5px;border:1px solid #d9dfda;border-radius:4px;color:#a0aaa5;font-family:DM Mono,monospace;font-size:10px}.filter-button{background:white;border-color:var(--line);color:#5e6b64}.filter-count{display:grid;place-items:center;width:17px;height:17px;color:var(--leaf);background:var(--mint);border-radius:50%;font-size:10px}.filter-tabs{display:flex;gap:5px;overflow-x:auto}.filter-tabs button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#849089;border-radius:6px;padding:8px 9px;font-size:11px;font-weight:700;white-space:nowrap}.filter-tabs button.selected{background:#e4efe5;color:var(--leaf)}.list-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.list-summary strong{color:#78847d;font-size:11px;font-weight:600}.cage-table{background:white;border:1px solid var(--line);border-radius:10px;padding:0 20px;box-shadow:var(--shadow)}.bird-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.bird-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.bird-photo{position:relative;height:132px;overflow:hidden;display:flex;align-items:flex-end;padding:12px;background:#d5c57f}.bird-photo:before{width:104px;height:104px;top:16px;right:18%;background:rgba(255,255,255,.48);box-shadow:28px 32px 0 -13px rgba(56,83,45,.35)}.bird-photo:after,.bird-photo:before{content:"";position:absolute;border-radius:50%}.bird-photo:after{width:140%;height:30px;bottom:-17px;left:-20%;background:rgba(44,76,53,.24)}.bird-photo.yellow{background:#e8ce72}.bird-photo.lemon{background:#e4d58a}.bird-photo.white{background:#dfe7df}.bird-photo.green{background:#a8c5a7}.bird-photo span{position:relative;z-index:1;padding:4px 7px;border-radius:4px;background:rgba(255,255,255,.77);color:#61706a;font-family:DM Mono,monospace;font-size:9px}.star-button{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:29px;height:29px;border:0;border-radius:50%;color:white;background:rgba(23,33,31,.25)}.star-button.selected{color:#eeae39;background:white}.bird-card-body{padding:14px}.bird-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.bird-code{margin:0;color:var(--leaf);font-family:DM Mono,monospace;font-size:10px}.bird-meta{margin-top:12px;color:#75827a;font-size:10px}.bird-note{min-height:30px;margin:12px 0 16px;color:#596960;font-size:11px;line-height:1.45}.card-footer{justify-content:space-between;border-top:1px solid #edf0ed;padding-top:11px}.card-footer,.empty-state{display:flex;align-items:center}.empty-state{min-height:190px;justify-content:center;flex-direction:column;gap:9px;color:#839087;border:1px dashed #cfd9d0;border-radius:10px;text-align:center}.empty-state strong{color:#53645a;font-size:13px}.empty-state span{font-size:11px}.empty-state.large{margin-top:12px;min-height:280px}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:rgba(23,33,31,.36)}.modal{width:min(100%,490px);background:white;border-radius:12px;padding:23px;box-shadow:0 24px 70px rgba(23,33,31,.18)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal-head h2{font-size:22px}.form-stack{gap:14px}.form-stack,.form-stack label{display:flex;flex-direction:column}.form-stack label{gap:6px;color:#58685f;font-size:11px;font-weight:800}.form-stack input,.form-stack select,.form-stack textarea{width:100%;min-height:39px;border:1px solid #dce4dd;border-radius:7px;background:#fbfcfa;padding:0 10px;outline:0;color:var(--ink);font-size:12px}.form-stack textarea{min-height:78px;padding-top:10px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.form-error{margin:0;padding:10px 12px;border-radius:7px;background:#fff0e6;color:#9a4e28;font-size:11px;line-height:1.5}.onboarding-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#edf3ed}.onboarding-card{width:min(100%,450px);padding:32px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.onboarding-card .brand-mark{margin-bottom:25px}.onboarding-card h1{font-size:29px}.onboarding-card label{display:flex;flex-direction:column;gap:7px;margin:25px 0 13px;color:#58685f;font-size:11px;font-weight:800}.onboarding-card input{height:42px;border:1px solid #dce4dd;border-radius:7px;padding:0 11px;outline:0}.onboarding-card .button{width:100%;margin-top:9px}.mobile-scrim{display:none}.offline-status-bar{position:fixed;z-index:35;right:18px;bottom:18px;min-height:42px;display:inline-flex;align-items:center;gap:8px;border:1px solid #dfc481;border-radius:7px;padding:0 13px;color:#674d16;background:#fff5d8;box-shadow:0 8px 24px rgba(23,33,31,.12);font-size:10px;font-weight:800}.sync-list{border-top:1px solid #dfe5df}.sync-list article{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 3px;border-bottom:1px solid #dfe5df}.sync-list article>div:first-child{min-width:0}.sync-list span,.sync-list strong{display:block}.sync-list strong{font-size:11px}.sync-list span{margin-top:4px;color:#7a867f;font-size:9px;line-height:1.45}.sync-list article>div:last-child{display:flex;gap:5px}.cage-lookup-modal{width:min(100%,460px)}.lookup-mode-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;margin-bottom:18px;padding:3px;border:1px solid #dce4dd;border-radius:7px;background:#f3f6f2}.lookup-mode-switch button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:5px;color:#6b7971;background:transparent;font-size:10px;font-weight:800}.lookup-mode-switch button.selected{color:#17694f;background:white;box-shadow:0 1px 4px rgba(23,33,31,.08)}.manual-cage-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:9px;gap:9px}.manual-cage-form label{display:flex;flex-direction:column;gap:6px;color:#58685f;font-size:10px;font-weight:800}.manual-cage-form input{min-height:41px;border:1px solid #dce4dd;border-radius:7px;padding:0 11px;color:#17211f;background:#fbfcfa;text-transform:uppercase}.camera-reader{position:relative;min-height:270px;overflow:hidden;border-radius:7px;color:white;background:#17211f}.camera-reader video{width:100%;height:270px;display:block;object-fit:cover}.camera-reader>span{position:absolute;right:12px;bottom:12px;left:12px;padding:8px;border-radius:5px;background:rgba(23,33,31,.78);font-size:9px;text-align:center}.camera-guide{position:absolute;inset:50% auto auto 50%;width:150px;height:150px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.9);border-radius:7px}.lookup-message{margin-top:13px}@media (max-width:1000px){.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.bird-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:740px){.sidebar{position:fixed;left:-270px;top:0;bottom:0;transition:left .2s ease;box-shadow:14px 0 35px rgba(23,33,31,.1)}.sidebar.is-open{left:0}.icon-button.menu-trigger,.icon-button.sidebar-close{display:inline-grid}.brand-block .sidebar-close{margin-left:auto}.mobile-scrim{display:block;position:fixed;z-index:9;inset:0;border:0;background:rgba(23,33,31,.26)}.topbar{height:59px;padding:0 18px}.topbar-left{gap:7px}.topbar-actions{gap:8px}.sync-chip{padding:6px 8px}.page-wrap{padding:32px 18px 44px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px}.heading-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.heading-actions .button{width:100%;min-width:0}.status-banner{align-items:flex-start;flex-wrap:wrap}.status-banner .text-button{margin-left:45px}.metric-grid{gap:9px}.metric-card{min-height:123px;padding:14px}.metric-card strong{font-size:24px}.section-panel{padding:17px 14px}.cage-side small{display:none}.cage-table{padding:0 13px}.toolbar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-button{width:max-content}.bird-grid{grid-template-columns:1fr}.bird-photo{height:150px}}@media (max-width:410px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card .metric-top{min-height:30px;align-items:flex-start}.metric-card strong{font-size:22px}.cage-row{gap:8px}.cage-code{width:38px;height:38px;font-size:10px}.cage-main span,.status-pill{font-size:9px}}@media (max-width:460px){.manual-cage-form{grid-template-columns:1fr}.manual-cage-form .button{width:100%}}