:root{--teal:#548b91;--aqua:#60c4cf;--menu:#64aaaf;--ink:#15272d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Nunito",Arial,sans-serif;color:var(--ink)}button,input,select{font:inherit}.login-page{min-height:100vh;display:grid;grid-template-rows:190px 1fr 180px;justify-items:center;background:#fff;padding:54px 20px 30px}.login-logo{width:280px;height:auto;align-self:start}.login-form{width:min(360px,100%);display:flex;flex-direction:column;gap:28px;text-align:center;align-self:center}.login-form h1{font-size:22px;color:var(--teal);margin:0 0:22px;font-weight:800}.login-form input{height:48px;border:2px solid #1e1e1e;border-radius:4px;text-align:center;font-size:20px;font-weight:700;padding:8px}.login-form input::placeholder{color:#a0a0a0}.primary-button,.secondary-button{border:0;border-radius:7px;background:var(--teal);color:#fff;font-weight:800;cursor:pointer}.primary-button{height:70px;font-size:21px;margin:10px auto 8px;width:260px}.secondary-button{height:38px;width:260px;margin:auto}.secondary-button:disabled{opacity:1;cursor:not-allowed}.login-footer{text-align:center;color:var(--teal);font-weight:800}.login-footer img{width:min(540px,90vw);height:auto;margin-top:48px}.login-error,.field-error{color:#b42318;font-weight:700}.login-error:empty,.field-error:empty{display:none}.validation-summary-errors ul{list-style:none;padding:0;margin:0}.app-shell{min-height:100vh;background:#fff}.app-header{height:100px;display:grid;grid-template-columns:280px 1fr 210px;align-items:center;padding:8px 18px;gap:20px}.brand-logo{width:205px}.ministry-logo{width:min(670px,100%);max-height:78px;object-fit:contain;justify-self:center}.user-summary{display:flex;flex-direction:column;align-items:flex-end;color:var(--teal);font-size:17px}.user-summary small{font-weight:800;margin-top:10px}.main-nav{height:52px;background:var(--teal);color:#fff;position:relative;z-index:10}.nav-links{height:100%;display:flex;align-items:stretch}.nav-group{position:relative}.nav-group>button,.nav-action,.logout-icon,.mobile-menu{height:100%;border:0;background:none;color:#fff;text-decoration:none;font-weight:800;padding:0 22px;display:flex;align-items:center;cursor:pointer}.nav-group>button:hover,.nav-group.open>button,.nav-action:hover{background:rgba(255,255,255,.14);color:#fff}.nav-spacer{flex:1}.logout-icon{font-size:34px;padding:0 16px}.dropdown{display:none;position:absolute;top:100%;left:6px;width:205px;background:var(--menu);border:2px solid #d8e0e0;padding:5px;box-shadow:0 8px 18px rgba(0,0,0,.12)}.dropdown.wide{width:245px}.nav-group.open .dropdown{display:flex;flex-direction:column}.dropdown a,.dropdown form button{display:block;width:100%;padding:9px 6px;border:0;background:transparent;color:#fff;text-decoration:none;text-align:left;font-weight:800}.dropdown a:hover,.dropdown form button:hover{background:rgba(255,255,255,.15)}.mobile-menu{display:none}.dashboard-content{display:grid;grid-template-columns:260px repeat(4,minmax(190px,1fr));gap:28px 36px;padding:16px 8px 34px}.filters{background:#cecece;border-radius:7px;padding:20px 8px 10px;align-self:start;position:relative}.filter-icon{position:absolute;right:16px;top:8px;font-size:26px;color:#4a4a4a}.filters label{display:flex;flex-direction:column;color:var(--teal);font-size:17px;font-weight:800;margin-bottom:7px}.filters select{height:32px;background:#fff;border:1px solid #222;font-size:17px}.panel h2,.data-card h2{font-size:17px;color:var(--aqua);margin:0 0 9px;font-weight:800}.species-panel{grid-column:2 / 3}.daily-panel{grid-column:3 / 6}.pie-wrap{display:flex;align-items:center;gap:28px}.pie{width:255px;aspect-ratio:1;border-radius:50%;flex:none;background:conic-gradient(#ff1515 0 34%,#19d81c 34% 51%,#1728ef 51% 65%,#ff8515 65% 77%,#9dc8c7 77% 83%,#4e965e 83% 89%,#f31368 89% 94%,#3e7091 94% 97%,#e02b4a 97% 99%,#69f000 99%)}.legend{list-style:none;padding:0;margin:0;font-size:12px;color:#5c6062;white-space:nowrap}.legend i{width:9px;height:9px;background:var(--c);display:inline-block;margin-right:4px}.daily-panel canvas{width:100%;height:260px}.data-card table{width:100%;border-collapse:collapse;font-size:14px}.data-card th{background:#5599aa;color:white;text-align:left;padding:4px}.data-card th:last-child,.data-card td:last-child{text-align:right}.data-card td{padding:2px 4px}.province{grid-column:1 / 2}.bar-panel{grid-column:2 / 6}.bars{height:230px;display:flex;align-items:flex-end;gap:7px;padding:10px 12px 30px;border-bottom:1px solid #999;background:repeating-linear-gradient(to bottom,#fff 0,#fff 43px,#c8c8c8 44px,#fff 46px)}.bars i{height:var(--v);background:var(--c);flex:1;position:relative;min-width:28px}.bars span{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-style:normal;font-size:11px;white-space:nowrap;color:#666}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1100px){.app-header{grid-template-columns:200px 1fr 150px}.brand-logo{width:180px}.nav-group>button,.nav-action{padding:0 12px}.dashboard-content{grid-template-columns:220px repeat(2,1fr)}.species-panel{grid-column:2/4}.daily-panel{grid-column:1/4}.bar-panel{grid-column:1/4}.province{grid-column:auto}.pie{width:220px}}@media(max-width:760px){.login-page{grid-template-rows:130px 1fr 140px;padding-top:30px}.login-logo{width:220px}.login-footer img{margin-top:25px}.app-header{height:auto;grid-template-columns:1fr 1fr;padding:12px}.brand-logo{width:150px}.ministry-logo{grid-column:1/3;grid-row:2;width:100%}.user-summary{font-size:14px}.main-nav{height:auto}.mobile-menu{display:flex;height:48px}.nav-links{display:none;height:auto;flex-direction:column}.nav-links.open{display:flex}.nav-group>button,.nav-action,.logout-icon{height:44px;width:100%}.dropdown,.dropdown.wide{position:static;width:100%;box-shadow:none}.nav-spacer{display:none}.dashboard-content{grid-template-columns:1fr;padding:16px}.filters,.species-panel,.daily-panel,.bar-panel,.province{grid-column:1}.pie-wrap{flex-direction:column;align-items:flex-start}.pie{align-self:center;width:min(250px,75vw)}.bars{overflow-x:auto}.bars i{min-width:45px}}
