:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182821;background:#f4f5ef;--bg:#f4f5ef;--panel:#fffefa;--ink:#182821;--muted:#647269;--green:#245745;--soft:#e7ece4;--line:#dce2d8;--stripe:#eef1e9;--accent:#bd8732;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:9px 13px;min-height:40px}button.primary{background:var(--green);color:white;border-color:var(--green)}button.quiet{background:transparent;border:0}a{color:var(--green)}input,select,textarea{border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:9px 10px;min-width:0;width:100%}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}label{display:block;font-size:13px;color:var(--muted)}label input,label select,label textarea{margin-top:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,serif;font-weight:600}h1{font-size:28px}h2{font-size:23px}small,.muted{color:var(--muted)}.brand{display:flex;align-items:center;gap:9px;font-family:Georgia,serif;font-size:24px;font-weight:700}.brand img{width:38px;height:34px}.shell{max-width:1400px;margin:auto}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px}.topright{display:flex;align-items:center;gap:16px;font-size:13px}.connection{display:flex;align-items:center;gap:7px;color:var(--muted)}.connection:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green)}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 76px)}aside{padding:26px 18px;border-right:1px solid var(--line)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin:0 12px 10px}.sideitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;margin-bottom:5px}.sideitem.active{background:var(--green);color:#fff}.sideitem .count{margin-left:auto;opacity:.7}.sidegroup{margin-top:28px}.sidefoot{margin:35px 12px;font-size:12px;line-height:1.6;color:var(--muted)}main{padding:28px 36px;min-width:0}.heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:22px}.heading p{font-size:13px;color:var(--muted);margin-top:6px}.actions{display:flex;gap:8px;align-items:center}.summary{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line);border-radius:9px;background:var(--panel);margin-bottom:22px}.summary>div{padding:15px 20px}.summary>div+div{border-left:1px solid var(--line)}.summary strong{font:600 29px Georgia,serif;display:block;margin-bottom:3px}.summary span{font-size:12px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.search{flex:1}.segmented{display:flex;background:var(--soft);padding:3px;border-radius:7px}.segmented button{border:0;background:transparent;min-height:34px;padding:5px 17px;font-size:13px}.segmented button.active{background:var(--green);color:white}.listmeta{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:9px 12px;border-bottom:1px solid var(--line)}.birdrow{display:grid;grid-template-columns:40px minmax(150px,1fr) 170px 125px 36px;align-items:center;min-height:43px;padding:0 8px;font-size:13px;border-bottom:1px solid var(--line)}.birdrow:nth-child(even){background:var(--stripe)}.birdrow .check{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:42px}.birdrow .name{font-weight:500}.birdrow .scientific{font-size:11px;font-style:italic;color:var(--muted);display:block;margin-top:1px}.birdrow .date{color:var(--muted);font-size:12px}.badge{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:3px 7px;display:inline-block;width:fit-content;color:var(--muted)}.badge.seen{color:var(--green);background:var(--soft)}.badge.warn{color:#79510c;background:#f5e6c8;border-color:#e6c992}.species{border:1px solid var(--line);border-radius:8px;overflow:hidden}.empty{padding:40px;text-align:center;color:var(--muted);font-size:14px}.footerline{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:14px}.mobile-nav{display:none}.bulk{position:sticky;bottom:18px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;margin-top:12px;box-shadow:0 6px 20px #0002;font-size:13px}.bulk button{background:var(--panel)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.card{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:20px}.card button{margin-top:12px}.form{display:grid;gap:14px}.form.two{grid-template-columns:1fr 1fr}.form .full{grid-column:1/-1}.form p{font-size:13px;line-height:1.6;color:var(--muted)}.form .inlinecheck{display:flex;align-items:center;gap:10px}.inlinecheck input{margin:0}.auth{max-width:960px;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin:auto;padding:35px}.auth-story h1{font-size:46px;line-height:1.1;margin:28px 0 18px}.auth-story p{color:var(--muted);line-height:1.8;max-width:350px}.auth-panel{padding:28px;border:1px solid var(--line);background:var(--panel);border-radius:12px}.auth-panel h2{margin:20px 0}.auth-tabs{display:flex;gap:10px}.auth-tabs button{flex:1}.error{color:#ad382d;font-size:13px;line-height:1.5}.notice{font-size:12px;line-height:1.6;background:var(--soft);padding:12px 14px;border-radius:7px;margin-bottom:16px}.calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.month{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px}.month h3{font-size:14px;margin-bottom:10px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.days button{padding:4px 0;min-height:35px;border:0;background:var(--soft);font-size:11px}.days button strong{display:block;font-size:12px}.days button.emptyday{background:transparent;color:var(--muted)}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;max-width:500px;width:calc(100% - 32px);padding:24px;max-height:90vh}dialog::backdrop{background:#10211966;backdrop-filter:blur(2px)}dialog h2{margin-bottom:18px}dialog .actions{justify-content:flex-end;margin-top:18px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ink);color:var(--bg);border-radius:8px;z-index:10;font-size:13px;display:none}#toast.visible{display:block}[data-theme=coast]{--bg:#f3f7f9;--panel:#fbfdff;--ink:#172b3a;--muted:#607682;--green:#244a65;--soft:#e0eaf0;--line:#d2dfe7;--stripe:#ebf1f5;--accent:#287a80;background:var(--bg);color:var(--ink)}[data-theme=night]{--bg:#151b1d;--panel:#202b32;--ink:#e5ecef;--muted:#a9b9bf;--green:#3c7967;--soft:#283e36;--line:#36444a;--stripe:#1a2429;--accent:#91c8b0;background:var(--bg);color:var(--ink);color-scheme:dark}
@media(min-width:1450px){.shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:950px){.layout{grid-template-columns:205px 1fr}main{padding:24px 20px}.birdrow{grid-template-columns:38px 1fr 100px 95px 26px}.calendar{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 20px}.auth{gap:35px}.auth-story h1{font-size:38px}}
@media(max-width:650px){.topbar{height:58px;padding:0 16px}.brand{font-size:21px}.brand img{width:30px}.topright .connection{display:none}.layout{display:block;min-height:calc(100vh - 58px)}aside{display:none}main{padding:18px 12px 90px}.heading{margin-bottom:16px;align-items:flex-start}.heading h1{font-size:25px}.heading .actions{flex-direction:column;gap:5px}.heading .actions button{font-size:12px;padding:6px 9px;min-height:32px}.summary{margin-bottom:16px}.summary>div{padding:12px 10px}.summary strong{font-size:25px}.summary span{font-size:10px}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}.segmented{flex:1}.segmented button{flex:1;padding:6px}.birdrow{grid-template-columns:36px 1fr 94px 24px;min-height:44px;padding:0 4px}.birdrow .date{display:none}.birdrow .scientific{font-size:10px}.badge{font-size:9px;padding:3px 5px}.footerline{font-size:10px;gap:12px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--line);display:flex;padding:5px 8px max(5px,env(safe-area-inset-bottom));z-index:5}.mobile-nav button{flex:1;border:0;background:transparent;font-size:10px;color:var(--muted);min-height:49px}.mobile-nav button span{display:block;font-size:19px;margin-bottom:2px}.mobile-nav button.active{color:var(--green)}.auth{display:block;padding:26px 20px}.auth-story{margin-bottom:28px}.auth-story h1{font-size:31px;margin:22px 0 12px}.auth-story p{font-size:13px;line-height:1.6}.auth-panel{padding:22px}.calendar{gap:8px}.month{padding:8px}.days{gap:1px}.days button{font-size:10px;min-height:32px}.form.two{grid-template-columns:1fr}.bulk{bottom:68px}.notice{font-size:11px}.topright select{font-size:12px;padding:6px;width:90px}}
