/* NIDOVYA — base layout, responsive interface. No network dependencies. */
:root{--forest:#174a3d;--forest-dark:#113b31;--forest-light:#2b6651;--sage:#dfeee4;--cream:#f7f8f5;--paper:#fff;--text:#24342f;--muted:#7f8b85;--line:#e9eeea;--accent:#edb874;--danger:#b84d46;--shadow:0 9px 35px rgba(27,65,47,.035);--radius:17px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:14px;color:var(--text);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4,p{margin-top:0}input,select,textarea{color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:#81ab94!important;box-shadow:0 0 0 3px rgba(56,128,88,.09)}:focus-visible{outline:3px solid #91bd9c;outline-offset:3px}
.shell{min-height:100vh;display:flex}.sidebar{width:258px;flex:0 0 258px;position:fixed;top:0;left:0;height:100vh;background:#174a3d;color:#dbe6df;padding:30px 18px 17px;display:flex;flex-direction:column;z-index:35;overflow-y:auto;scrollbar-width:thin}.brand{display:flex;gap:11px;align-items:center;padding:0 12px 29px;color:#fff}.brand-mark{width:40px;height:40px;background:#c8dbaf;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#184d3d;flex:0 0 auto}.brand strong{display:block;font-weight:800;font-size:21px;line-height:1;letter-spacing:2px}.brand small{display:block;letter-spacing:3.9px;margin-top:5px;font-weight:700;font-size:9px;color:#bad3bd}.sidebar-space-name{border-radius:12px;padding:16px 16px 18px;margin:0 4px 27px;background:rgba(249,255,244,.07);border:1px solid rgba(219,238,216,.09)}.sidebar-space-name strong{display:block;color:#f5f6ec;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:8px}.sidebar-space-kicker{font-size:9px;letter-spacing:1.7px;color:#a8bfad;font-weight:750}.sidebar-section-label{color:#8ead9d;font-size:9.5px;font-weight:800;letter-spacing:1.6px;padding:0 17px 13px}.sidebar-section-label.second{padding-top:26px;padding-bottom:11px}.nav-items{display:flex;flex-direction:column;gap:3px}.nav-item{display:flex;align-items:center;gap:14px;min-height:43px;border-radius:9px;padding:0 16px;font-size:13px;font-weight:550;color:#d2e2d9;transition:background .15s,color .15s}.nav-item:hover{background:rgba(255,255,255,.08);color:white}.nav-item.active{background:#e5efe5;color:#1e5040;font-weight:750}.nav-icon{font-size:21px;width:22px;text-align:center;font-family:Arial,sans-serif;line-height:1}.sidebar-bottom{margin-top:auto;padding-top:30px}.profile-line{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(231,238,231,.15);padding:19px 10px 1px;margin-top:18px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d0e0cb;color:#26523c;font-weight:800}.profile-copy{flex:1;min-width:0}.profile-copy strong{display:block;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy small{display:block;font-size:11px;color:#a9c4b5;margin-top:4px}.logout-button{border:0;background:transparent;color:#c5dacf;font-size:23px;padding:3px 7px}.logout-button:hover{color:#fff}
.main-area{width:calc(100% - 258px);margin-left:258px;min-width:0}.topbar{height:73px;background:#fff;border-bottom:1px solid #ecf0ec;display:flex;align-items:center;justify-content:space-between;padding:0 43px;gap:20px}.topbar-path{font-size:12px;color:#919c96}.topbar-path b{color:#364b40;font-weight:650}.topbar-path span{margin:0 10px;color:#c3cdc7}.topbar-right{display:flex;align-items:center;gap:11px;color:#7e8b82;font-size:12px}.topbar-dot{width:6px;height:6px;border-radius:50%;background:#65b98e}.topbar-live{color:#5d8b70;font-size:11px;font-weight:600}.topbar-user{width:32px;height:32px;margin-left:15px;display:grid;place-items:center;background:#eff2ec;border:1px solid #e8ede5;border-radius:50%;color:#3f6950;font-weight:750}.menu-toggle{display:none;border:0;background:none;font-size:20px;padding:6px;margin-right:9px}.content{max-width:1630px;margin:auto;padding:36px 43px 18px}.footer{border-top:1px solid #e7ede7;color:#a3afa6;font-size:11px;margin-top:44px;padding:22px 0}.footer span{margin:0 6px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.2px;color:#4a886c;margin-bottom:13px}.eyebrow span:not(.small-leaf){color:#9aada3}.eyebrow a:hover{text-decoration:underline}.small-leaf{font-size:16px;vertical-align:middle;margin-right:4px}.greeting-leaf{font-size:18px;color:#dfa55c;vertical-align:middle}.dash-intro,.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:31px}.dash-intro h1,.page-header h1{font-size:31px;line-height:1.2;letter-spacing:-1px;font-weight:760;margin:0 0 11px}.dash-intro p,.page-header p{font-size:13px;color:#85948b;margin:0;line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border-radius:9px;border:1px solid transparent;font-size:12px;font-weight:720;white-space:nowrap;line-height:1.4;transition:background .15s,border-color .15s,transform .15s;min-height:42px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:#1e624b;color:#fff;box-shadow:0 4px 10px rgba(28,97,70,.09)}.btn-primary:hover{background:#174b3a}.btn-outline{background:#fff;border-color:#dce7dd;color:#42674f}.btn-outline:hover{background:#f4faf5}.btn-secondary{background:#e7f1e9;color:#276245}.btn-small{min-height:37px;padding:8px 14px}.btn-plus{font-size:21px;font-weight:300;line-height:.8}.page-header-actions{display:flex;align-items:center;gap:10px}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.metric-card{background:#fff;border:1px solid #ecf0eb;border-radius:var(--radius);padding:23px 23px 20px;position:relative;min-height:158px;box-shadow:var(--shadow)}.metric-icon{display:grid;place-items:center;height:37px;width:37px;border-radius:12px;font-family:Arial,sans-serif;font-size:23px;margin-bottom:17px}.metric-forest{background:#e3f0e6;color:#45865d}.metric-ochre{background:#fff1dd;color:#c88f39}.metric-violet{background:#eee9fa;color:#9673b4}.metric-peach{background:#fff0e9;color:#d98560}.metric-meta{font-weight:750;color:#7d8c83;letter-spacing:1.1px;font-size:9px;position:absolute;top:31px;left:73px;right:10px}.metric-num{font-size:33px;font-weight:800;line-height:1;margin:0 0 8px;letter-spacing:-1.5px;color:#263f33}.metric-caption{color:#909e94;font-size:11px}.danger-text{color:var(--danger)!important;font-weight:680}
.dashboard-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:20px}.dashboard-two.lower-grid{margin-top:20px}.panel{background:#fff;border:1px solid #eaf0e9;border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:24px 25px 21px}.panel-head h2{font-size:16px;letter-spacing:-.2px;margin:0 0 6px;font-weight:760}.panel-head p{font-size:11px;color:#97a59c;margin:0}.text-action{white-space:nowrap;color:#38805b;font-size:11px;font-weight:760}.text-action:hover{text-decoration:underline}.text-action span{font-size:15px;margin-left:4px}.task-list{padding:0 24px}.task-item{display:flex;align-items:center;min-height:68px;border-bottom:1px solid #f0f2ee;gap:12px}.task-item:last-child{border-bottom:0}.task-item form,.task-with-check form{flex:0 0 auto}.task-check{width:21px;height:21px;border:1.5px solid #d2ddd4;border-radius:6px;display:grid;place-items:center;background:#fff;color:transparent;font-size:13px;line-height:1;padding:0}.task-check:hover{background:#d7e8db;color:#236646;border-color:#78a887}.task-check.task-checked{background:#438c60;color:#fff;border-color:#438c60}.task-info{flex:1;min-width:0}.task-info b{display:block;font-size:12px;font-weight:680;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-info span{display:block;color:#9aa59b;font-size:10px;margin-top:6px}.task-date{margin-left:auto;color:#798b7f;background:#f4f7f2;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:700;white-space:nowrap}.task-date.is-overdue{color:#b5554d;background:#fff0ec}.task-date.is-today{background:#fff1da;color:#ae7937}.panel-bottom{padding:18px 25px 22px;border-top:1px solid #f0f3ed}.soft-link{font-size:12px;font-weight:700;color:#458464}.soft-link:hover{text-decoration:underline}.panel-mini-badge{background:#ecf4ec;color:#4a805b;font-size:10px;font-weight:750;padding:7px 10px;border-radius:8px}.species-list{padding:1px 25px 20px}.species-row{margin-bottom:19px}.species-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}.species-top strong{font-size:12px;font-weight:660}.species-top span{font-size:10px;color:#95a198;white-space:nowrap}.progress{height:6px;background:#edf2eb;border-radius:99px;overflow:hidden}.progress-value{height:100%;background:#8ebca1;border-radius:99px}.progress-value.progress-full{background:#e6b076}.species-row:nth-child(2) .progress-value{background:#d8ba80}.species-row:nth-child(3) .progress-value{background:#a8c2d5}.species-row:nth-child(4) .progress-value{background:#b9accc}.subcard-metric{margin:4px 24px 23px;background:#f3f7f1;border:1px solid #eaf0e7;border-radius:12px;padding:17px 17px;display:flex;justify-content:space-between;align-items:center}.subcard-metric span{font-size:11px;color:#7f9582;display:block;margin-bottom:8px}.subcard-metric strong{font-size:22px;color:#254c37;letter-spacing:-.4px}.subcard-metric>a{font-size:23px;color:#4d8b60}.recent-list{padding:0 24px 8px}.recent-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f2ee}.recent-item:last-child{border-bottom:0}.recent-item:hover b{color:#277354}.bird-thumb{flex:0 0 auto;width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:#edf4ec;color:#6c9c7a;font-size:24px;overflow:hidden}.bird-thumb img{width:100%;height:100%;object-fit:cover}.recent-info{flex:1;min-width:0}.recent-info b{display:block;font-weight:710;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-info small{display:block;color:#a2aea5;font-size:10px;margin-top:6px}.recent-right{color:#8c9c91;font-size:10px;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.recent-arrow{font-size:23px;color:#a2b1a7}.enclosure-list{padding:0 24px 17px}.enclosure-item{display:flex;align-items:center;gap:12px;margin:1px 0 19px}.enclosure-symbol{width:37px;height:37px;flex:0 0 auto;display:grid;place-items:center;background:#f4f1e8;color:#bd9a60;border-radius:10px;font-size:22px}.enclosure-symbol.mini{width:34px;height:34px;font-size:19px}.enclosure-data{flex:1}.enclosure-data>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.enclosure-data strong{font-size:12px;font-weight:680}.enclosure-data span{font-size:10px;color:#98a79b;white-space:nowrap}.upcoming-health{border-top:1px solid #f0f3ed;padding:17px 24px 20px}.upcoming-head{color:#84a28d;font-size:9px;letter-spacing:1.2px;font-weight:800;margin-bottom:8px}.upcoming-health a{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:9px 0;border-bottom:1px solid #f4f6f2}.upcoming-health a:last-child{border-bottom:0}.upcoming-health a b{white-space:nowrap;color:#508766;font-size:10px}
.state-empty{text-align:center;color:#879a8a}.state-empty h3{font-size:14px;color:#456150;margin-bottom:7px}.state-empty p{font-size:12px;margin-bottom:16px;line-height:1.5}.small-state{padding:24px 20px 27px}.empty-illustration{width:51px;height:51px;border-radius:50%;background:#edf4ed;color:#7ca98a;display:grid;place-items:center;font-size:25px;margin:0 auto 13px}.state-empty .text-action{display:inline-block;margin-top:3px}
.table-panel{overflow:hidden}.table-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 25px;border-bottom:1px solid #eef1ed}.search-box{display:flex;align-items:center;gap:9px;border:1px solid #e3e9e2;background:#f9fbf8;border-radius:9px;min-height:41px;min-width:270px;max-width:440px;flex:1;padding-left:13px}.search-box>span{font-size:22px;line-height:1;color:#97a99b}.search-box input{background:transparent;border:0;box-shadow:none!important;min-width:0;flex:1;font-size:12px;color:#425d49}.search-box input::placeholder{color:#a1b1a5}.search-submit{border:0;border-left:1px solid #e5ede4;background:transparent;color:#477c59;font-size:11px;font-weight:750;padding:12px 15px}.search-submit:hover{background:#ebf4e9}.table-tools-right{display:flex;align-items:center;gap:16px}.count-label{color:#9aa99d;font-size:11px;white-space:nowrap}.table-scroll{overflow-x:auto;width:100%}.data-table{border-collapse:collapse;width:100%;text-align:left;min-width:720px}.data-table th{padding:16px 21px;background:#fafbf9;color:#879a8a;font-size:9px;letter-spacing:1.2px;font-weight:800;white-space:nowrap}.data-table td{padding:15px 21px;border-top:1px solid #eff2ee;font-size:12px;vertical-align:middle;color:#56695a}.data-table td b,.data-table .cell-strong,.data-table .cell-link{font-weight:690;color:#30473a}.data-table td small,.cell-title-with-icon small{font-size:10px;display:block;color:#9cad9f;margin-top:5px}.data-table tbody tr:hover{background:#fcfdfa}.data-table .cell-link:hover{color:#228254;text-decoration:underline}.cell-bird,.cell-title-with-icon{display:flex;align-items:center;gap:11px}.tag{display:inline-flex;align-items:center;padding:6px 9px;font-size:10px;border-radius:8px;font-weight:720;white-space:nowrap}.tag-success{background:#e8f6ec;color:#3a8855}.tag-muted{background:#f0f3ef;color:#778b7e}.tag-neutral{background:#f0f2fb;color:#797eae}.tag-danger{background:#fff0ee;color:#b34e46}.actions-col{text-align:right}.row-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px}.row-actions form{display:inline}.row-action{width:29px;height:29px;border:0;border-radius:7px;background:none;display:grid;place-items:center;color:#789784;font-size:19px}.row-action:hover{background:#ebf6ee;color:#2d704e}.row-danger:hover{background:#fff0ed;color:#bd4f49}.occupancy-inline{max-width:145px}.occupancy-inline strong{display:block;font-size:11px;margin-bottom:8px}.triple-num{color:#7b8a7e;font-size:12px}.task-with-check{display:flex;align-items:center;gap:12px}.task-with-check b{display:block}.strike{text-decoration:line-through;color:#a0afa3!important}.amount{font-size:13px}.list-empty{padding:70px 20px}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px}.form-panel{padding:29px 30px}.form-section-heading{display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf1eb;padding-bottom:23px;margin-bottom:25px}.section-number{width:36px;height:36px;background:#eaf4ec;color:#40845c;border-radius:10px;display:grid;place-items:center;font-weight:850}.form-section-heading h2{margin:0 0 5px;font-size:16px}.form-section-heading p{margin:0;color:#9aad9f;font-size:11px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 20px}.form-field{display:flex;flex-direction:column;gap:9px}.form-field.wide{grid-column:1/-1}.form-field label,.settings-form label,.auth-fields label{font-size:11.5px;color:#40594a;font-weight:750;display:block}.asterisk{color:#db846f}.form-field input:not([type=checkbox]),.form-field select,.form-field textarea,.settings-form input,.auth-fields input{width:100%;margin-top:0;min-height:43px;padding:11px 13px;background:#fff;border:1px solid #dfe9df;border-radius:8px;font-size:12px;color:#364b3d;transition:border-color .15s,box-shadow .15s}.form-field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%238da394' stroke-width='2' d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;padding-right:35px}.form-field textarea{resize:vertical;min-height:100px}.form-field input::placeholder,.form-field textarea::placeholder{color:#b1bdb2}.form-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #edf1eb;padding-top:24px;margin-top:27px}.tip-card{background:#fff8ed;border:1px solid #f2e7d5;padding:25px 21px;border-radius:15px;margin-bottom:17px}.tip-icon{width:35px;height:35px;display:grid;place-items:center;background:#f9e5c6;color:#c58e51;border-radius:10px;font-size:20px;margin-bottom:18px}.tip-card h3{font-size:14px;margin:0 0 10px;color:#715f48}.tip-card p{font-size:12px;line-height:1.8;color:#9d8a70;margin:0}.tip-green{background:#e9f3e9;border-color:#dde9da}.tip-green h3{color:#325e43}.tip-green p{color:#6e9776}.check-label{display:flex!important;align-items:center;gap:12px;cursor:pointer;padding:12px 0}.check-label input{width:17px;height:17px;accent-color:#398557}.custom-checkbox{display:none}.field-error-banner{padding:12px 15px;margin-bottom:20px;border:1px solid #f2bbb2;background:#fff3f0;color:#a24c43;border-radius:9px;font-weight:600;font-size:12px;line-height:1.5}
.bird-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px}.bird-profile{padding:24px;align-self:start}.bird-photo{background:#eff5ed;border:1px solid #e3eee0;border-radius:14px;height:235px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#799a81;gap:9px;overflow:hidden}.bird-photo img{width:100%;height:100%;object-fit:cover}.placeholder-bird{font-size:92px;line-height:1}.bird-photo small{font-size:11px}.photo-form{text-align:center;padding-top:15px}.btn-photo{width:100%;cursor:pointer}.photo-note{font-size:10px;color:#a2aea3;margin-top:10px}.separator{border:0;border-top:1px solid #e9efe8;margin:20px 0}.profile-status{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#77897b;margin-bottom:22px}.bird-keyfacts>div{padding:0 0 17px;margin-bottom:17px;border-bottom:1px solid #f1f3ef}.bird-keyfacts>div:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.bird-keyfacts small{font-size:9px;color:#94a79a;letter-spacing:1.1px;display:block;font-weight:800;margin-bottom:7px}.bird-keyfacts strong{color:#334d3c;font-size:12px;font-weight:680}.bird-detail-sections{display:flex;flex-direction:column;gap:20px}.parents-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 24px 24px}.parent-card{display:flex;align-items:center;gap:15px;border:1px solid #eef2ec;border-radius:12px;padding:19px 16px}.parent-symbol{width:38px;height:38px;display:grid;place-items:center;background:#edf3fc;color:#799fc5;border-radius:10px;font-size:25px;flex:0 0 auto}.parent-symbol.pink{background:#fff0f0;color:#d79a9d}.parent-card small{display:block;color:#9aaa9c;letter-spacing:1px;font-size:9px;font-weight:800;margin-bottom:7px}.parent-card strong,.parent-card a{display:block;color:#315742;font-size:12px;font-weight:680}.parent-card a:hover{text-decoration:underline}.parent-card span:not(.parent-symbol){font-size:10px;color:#8b9b90;display:block;margin-top:5px}.simple-records{padding:0 24px 10px}.simple-record{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-top:1px solid #f0f3ef}.simple-record:first-child{border-top:0}.record-bullet{width:30px;height:30px;display:grid;place-items:center;background:#ebf5ed;color:#488762;border-radius:9px;flex:0 0 auto}.simple-record>div{flex:1}.simple-record b{font-size:12px;color:#425b49}.simple-record small{display:block;margin-top:5px;font-size:10px;color:#98a89b}.simple-record p{margin:10px 0 0;font-size:11px;color:#74877a;white-space:pre-wrap;line-height:1.7}.record-date{font-size:10px;color:#97a89b;white-space:nowrap}.empty-inline{padding:0 24px 28px;font-size:12px;color:#95a49a}.bird-notes{padding:0 24px 25px;font-size:12px;white-space:pre-wrap;line-height:1.7;color:#6d7e72}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-panel{padding:27px 28px}.settings-icon{width:42px;height:42px;border-radius:12px;background:#edf3e9;color:#50805b;display:grid;place-items:center;font-size:22px;margin-bottom:18px}.settings-panel h2{font-size:16px;margin:0 0 7px}.settings-panel>p{color:#91a195;font-size:12px;line-height:1.7;margin-bottom:22px}.settings-form{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.settings-form label{width:100%}.settings-form input{margin-top:8px}.settings-backup .btn{margin-top:5px}.backup-hint{color:#8e9c91;font-size:11px;line-height:1.75;padding:15px;background:#f8faf7;margin-top:20px;border-radius:9px}.backup-hint code{color:#45684b}.export-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e8efe7;padding:12px 13px;border-radius:9px;font-weight:700;color:#51745a;font-size:11px}.export-links a:hover{background:#edf6ed}.export-links a span{font-size:15px}.error-state{text-align:center;max-width:600px;margin:12vh auto}.error-glyph{font-size:60px;color:#8bb69a;margin-bottom:12px}.error-state p{color:#91a098;margin-bottom:26px}
.flash{display:flex;align-items:center;gap:12px;padding:14px 18px;margin:0 0 25px;font-size:12px;font-weight:620;border-radius:10px;background:#e5f3e8;color:#3c7650;border:1px solid #d0e9d5}.flash span{background:#c8e4ce;border-radius:50%;height:22px;width:22px;display:grid;place-items:center}.flash-error{background:#fff1ec;color:#b45b51;border-color:#f2d3ce}.flash-close{border:0;background:none;margin-left:auto;color:inherit;font-size:20px}
/* Authentication / onboarding */
.body-auth{background:#fff}.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(380px,48%) minmax(0,52%)}.auth-art{background:#174b3c;color:#f4f8ef;padding:39px 55px;position:relative;overflow:hidden;display:flex;align-items:stretch}.auth-art:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 36%,rgba(128,168,118,.14),transparent 45%);pointer-events:none}.auth-art-content{width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;position:relative;z-index:1}.auth-logo{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:1.5px;font-weight:830}.auth-logo b{font-weight:400;letter-spacing:2px;font-size:12px;color:#b5d3bf}.auth-logo-badge{height:37px;width:37px;border-radius:11px;background:#d2e5bf;color:#2c6851;display:grid;place-items:center;font-size:23px}.auth-hero-art{width:100%;max-width:460px;aspect-ratio:1.3;position:relative;display:grid;place-items:center;margin:10vh auto 5vh}.auth-hero-art svg{width:90%;position:relative;z-index:1;filter:drop-shadow(0px 20px 20px rgba(0,0,0,.12))}.ornamental-rings{position:absolute;border-radius:50%;border:1px solid rgba(200,225,200,.15);width:280px;height:280px}.r2{width:365px;height:365px;border-color:rgba(200,225,200,.08)}.auth-art h2{font-size:35px;line-height:1.15;letter-spacing:-1px;margin-bottom:17px}.auth-art h2 em{color:#d1e4bc;font-style:normal}.auth-art p{font-size:13px;color:#b7d1bf;line-height:1.9;max-width:390px}.auth-art-note{margin-top:auto;padding-top:40px;color:#bddac1;font-size:11px;letter-spacing:.3px}.auth-art-note span{margin-right:5px;color:#e6c481}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:50px 50px}.auth-form-wrap{width:100%;max-width:400px}.auth-topmark{font-size:10px;font-weight:850;color:#478163;letter-spacing:2px;margin-bottom:55px;display:none}.auth-eyebrow{font-size:10px;letter-spacing:2px;color:#59956f;font-weight:850;margin-bottom:17px}.auth-form-wrap h1{font-size:35px;line-height:1.15;letter-spacing:-1.3px;margin-bottom:17px}.auth-form-wrap h1 span{color:#428763}.auth-subtitle{font-size:13px;color:#87968a;line-height:1.7;margin-bottom:33px}.auth-fields{display:flex;flex-direction:column;gap:18px}.auth-fields label{font-size:12px}.auth-fields input{display:block;margin-top:9px!important;min-height:48px!important;font-size:13px!important}.auth-submit{width:100%;min-height:49px;justify-content:space-between;padding:0 19px;margin-top:6px;font-size:13px}.auth-submit span{font-size:18px}.auth-security{color:#9ca9a0;font-size:11px;line-height:1.7;margin-top:27px;border-top:1px solid #eef2ed;padding-top:20px}
.mobile-screen{display:none}
@media(max-width:1300px){.content{padding:33px 28px 17px}.topbar{padding:0 29px}.metric-card{padding:21px 17px}.metric-meta{left:66px}.data-table td,.data-table th{padding-left:16px;padding-right:16px}}
@media(max-width:1120px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-two{grid-template-columns:1fr}.recent-right{max-width:180px}.form-layout{grid-template-columns:minmax(0,1fr) 230px}.auth-art{padding:35px}.auth-art h2{font-size:29px}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:transform .2s;box-shadow:14px 0 40px rgba(0,0,0,.08)}.sidebar.open{transform:translateX(0)}.mobile-screen.open{display:block;position:fixed;inset:0;background:#0d241bb3;z-index:30}.main-area{width:100%;margin-left:0}.menu-toggle{display:inline-block}.content{padding:26px 20px 15px}.topbar{padding:0 21px}.form-layout{grid-template-columns:1fr}.form-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tip-card{margin:0}.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.auth-form-side{min-height:100vh}.auth-topmark{display:block}}
@media(max-width:560px){.content{padding:24px 15px 14px}.topbar{height:62px;padding:0 14px}.topbar-today,.topbar-dot,.topbar-live{display:none}.dash-intro,.page-header{flex-direction:column;align-items:flex-start;gap:17px}.dash-intro h1,.page-header h1{font-size:27px}.dash-intro>.btn,.page-header>.btn{width:100%}.page-header-actions{width:100%}.page-header-actions>.btn{flex:1}.metric-grid{gap:10px}.metric-card{min-height:147px;padding:16px 13px}.metric-icon{width:32px;height:32px;font-size:21px;margin-bottom:23px}.metric-meta{top:22px;left:53px;font-size:8px;letter-spacing:.6px}.metric-num{font-size:29px}.dashboard-two{gap:13px}.dashboard-two.lower-grid{margin-top:13px}.panel-head{padding:20px 17px 17px}.panel-head h2{font-size:15px}.panel-head p{font-size:10px}.task-list,.species-list,.recent-list,.enclosure-list,.simple-records{padding-left:17px;padding-right:17px}.task-item{gap:9px}.task-date{font-size:9px}.species-list{padding-bottom:8px}.subcard-metric{margin:0 17px 19px}.panel-bottom{padding-left:17px}.table-tools{padding:16px;align-items:stretch;flex-direction:column}.search-box{max-width:none;min-width:0;width:100%}.table-tools-right{justify-content:space-between}.form-panel{padding:20px 17px}.form-grid{grid-template-columns:1fr}.form-aside{grid-template-columns:1fr}.form-actions{flex-wrap:wrap}.form-actions .btn{flex:1}.bird-layout,.settings-grid{grid-template-columns:1fr}.bird-profile{max-width:none}.parents-grid{grid-template-columns:1fr;padding:0 17px 17px}.settings-panel{padding:21px}.export-links{grid-template-columns:1fr}.recent-right{display:none}.auth-form-side{padding:40px 23px}.auth-form-wrap h1{font-size:30px}}

/* Email registration and account approval */
.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 18px;margin-top:22px}.auth-links a,.text-action{color:#337b57;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.auth-hint,.auth-message{background:#f2f7f0;border:1px solid #dcebe0;color:#486d55;border-radius:12px;padding:15px;font-size:12px;line-height:1.8;margin-top:16px}.auth-fields label small{font-size:10px;color:#87968a;font-weight:400}.user-list{display:flex;flex-direction:column;margin-top:20px}.user-row{display:flex;align-items:center;gap:17px;padding:18px 0;border-bottom:1px solid #eef2ec}.user-row:last-child{border-bottom:0}.user-avatar{flex:0 0 42px;height:42px;background:#dbeee1;border-radius:11px;color:#3c7550;display:grid;place-items:center;font-weight:800}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.user-info strong{color:#264f3d;font-size:13px}.user-info small{color:#829687;overflow-wrap:anywhere}.user-info span{font-size:11px;color:#4f8062;font-weight:700}.user-buttons{display:flex;flex-wrap:wrap;gap:10px}.user-buttons form{margin:0}@media(max-width:560px){.user-row{align-items:flex-start;flex-wrap:wrap}.user-buttons{padding-left:60px}.user-info{min-width:calc(100% - 65px)}}
/* Dashboard weather / each tenant has their own location */
.weather-panel{margin-bottom:23px;padding:25px 29px 17px;overflow:hidden;background:linear-gradient(120deg,#f5faf2,#fff 62%)}
.weather-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.weather-heading h2{font-size:19px;letter-spacing:-.4px;margin:7px 0 12px}.weather-heading .eyebrow{font-size:9px;color:#62917a;letter-spacing:1.5px;font-weight:800}
.weather-content{display:grid;grid-template-columns:minmax(190px,1.25fr) minmax(130px,.65fr) minmax(280px,1.4fr);gap:20px;align-items:center;padding:8px 0 15px}
.weather-now{display:flex;gap:13px;align-items:center}.weather-symbol{font-size:47px;line-height:1.2}.weather-location{font-size:11px;color:#52745f;font-weight:700}.weather-degrees{font-size:43px;font-weight:800;letter-spacing:-2px;line-height:1.1;margin-top:5px}.weather-degrees span{font-size:22px;vertical-align:top;letter-spacing:-.5px}.weather-condition{font-size:12px;color:#64816c;margin-top:3px}
.weather-stats{display:grid;gap:11px;padding:5px 20px;border-left:1px solid #e3ece3;border-right:1px solid #e3ece3}.weather-stats>div{display:flex;justify-content:space-between;gap:7px;align-items:center}.weather-stats span{font-size:9px;font-weight:800;letter-spacing:1px;color:#8c9b91}.weather-stats strong{font-size:13px;white-space:nowrap}.weather-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.weather-day{background:#eff5ef;border-radius:11px;min-height:92px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:10px 5px}.weather-day>span{font-size:11px;font-weight:700;color:#52705b}.weather-day b{font-size:12px;white-space:nowrap}.weather-day small{font-size:10px;color:#809382}.weather-credit{border-top:1px solid #e5eee5;font-size:10px;color:#87978b;padding-top:11px;margin:0;line-height:1.6}.weather-credit a{text-decoration:underline;text-underline-offset:2px}.weather-empty{padding:18px 0;color:#6c8472;font-size:13px;line-height:1.8}.weather-empty a{font-weight:700;text-decoration:underline;color:#29613f}.weather-configured{font-size:13px;color:#3a7451;background:#f0f6ed;border-radius:10px;padding:12px}.weather-help{font-size:11px;color:#82938a;margin-top:13px;line-height:1.7}
@media(max-width:1250px){.weather-content{grid-template-columns:1fr 1fr}.weather-days{grid-column:1/-1}.weather-stats{border-right:0}}
@media(max-width:650px){.weather-panel{padding:19px}.weather-heading{align-items:flex-start}.weather-heading h2{font-size:16px}.weather-heading .text-action{font-size:10px;white-space:nowrap}.weather-content{grid-template-columns:1fr;gap:15px}.weather-now{justify-content:flex-start}.weather-stats{display:flex;justify-content:space-between;border:0;border-top:1px solid #e3ece3;padding:14px 0 0}.weather-stats>div{flex-direction:column;align-items:flex-start}.weather-days{grid-column:auto}.weather-day{min-height:82px}.weather-day b{font-size:11px}}
