@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700&display=swap");:root{--c-primary-1:#85a651;--c-primary-2:#1a1f14;--c-primary-3:#744013;--c-primary-4:#c57c3c;--c-secondary-1:#566489;--c-secondary-2:#d7dde4;--c-secondary-3:#325a41;--c-secondary-4:#6b5822;--c-accent:#b51227;--c-danger:#b51227;--bg:#f2efe8;--bg-soft:#ece8df;--card:#fff;--card-muted:#f6f4ef;--text:#1f221b;--muted:#60685a;--line:#d7d6ce;--shadow-sm:0 2px 10px rgba(31,34,27,.08);--shadow-md:0 8px 30px rgba(31,34,27,.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--text);font-family:Sabon Next,Sabon,Times New Roman,serif;background:radial-gradient(circle at 16% 10%,rgba(133,166,81,.24) 0,rgba(133,166,81,0) 32%),radial-gradient(circle at 90% 0,rgba(197,124,60,.18) 0,rgba(197,124,60,0) 24%),linear-gradient(180deg,#f6f3ed,#ece8df)}a{color:inherit}h1,h2,h3,h4,h5{margin:0;color:var(--c-primary-2)}button,h1,h2,h3,h4,h5{font-family:Manrope,system-ui,sans-serif}button{border:0;border-radius:10px;padding:8px 14px;background:var(--c-primary-1);color:#17200f;font-weight:600;cursor:pointer;transition:transform .12s ease,filter .12s ease}button:hover{filter:brightness(1.04);transform:translateY(-1px)}button.secondary{background:var(--c-secondary-2);color:var(--c-primary-2)}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--c-primary-1);box-shadow:0 0 0 3px rgba(133,166,81,.2)}.app-shell{min-height:100vh;display:grid;grid-template-columns:240px minmax(0,1fr)}.app-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:20px 14px;background:linear-gradient(180deg,#1e2519,#141810);color:#e8ecdf;border-right:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column}.app-brand{padding:8px 8px 18px;border-bottom:1px solid hsla(0,0%,100%,.12);margin-bottom:16px}.app-brand-title{font-size:18px;font-weight:700;letter-spacing:.03em}.app-brand-subtitle,.app-brand-title{font-family:Manrope,system-ui,sans-serif}.app-brand-subtitle{margin-top:5px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:hsla(78,25%,90%,.72)}.app-nav{display:grid;grid-gap:5px;gap:5px}.app-nav-item{display:block;border-radius:8px;padding:10px;text-decoration:none;font-size:13px;font-family:Manrope,system-ui,sans-serif;color:hsla(78,25%,90%,.88)}.app-nav-item:hover{background:hsla(0,0%,100%,.08)}.app-nav-item.active{color:#fff;background:linear-gradient(90deg,rgba(133,166,81,.9),rgba(133,166,81,.55))}.app-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.app-topbar{justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-topbar,.app-topbar-brand{display:flex;align-items:center}.app-topbar-logo{display:block;width:auto;height:60px}.app-user{display:flex;align-items:center;gap:10px}.app-user-meta{display:grid;justify-items:end;line-height:1.25}.app-user-name{font-size:12px;font-weight:700}.app-user-email,.app-user-name{font-family:Manrope,system-ui,sans-serif}.app-user-email{font-size:11px;color:var(--muted)}.app-login-link{font-size:12px;text-decoration:none;font-family:Manrope,system-ui,sans-serif}.app-content{min-width:0;padding:24px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.page-title{font-size:30px;line-height:1.1}.page-subtitle{margin:8px 0 0;max-width:760px;color:var(--muted);font-size:13px;line-height:1.45;font-family:Manrope,system-ui,sans-serif}.page-actions{display:flex;align-items:center;gap:8px}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.module-card{display:grid;grid-gap:10px;gap:10px;text-decoration:none;background:linear-gradient(160deg,var(--card) 0,#f6f4ee 100%);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.module-card-title{font-family:Manrope,system-ui,sans-serif;font-size:16px;font-weight:700;color:var(--c-primary-2)}.module-card-description{font-size:12px;color:var(--muted);line-height:1.4;font-family:Manrope,system-ui,sans-serif}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow-sm)}.luchs-map-panel{padding:10px}.luchs-map-canvas{width:100%;height:min(72vh,760px);border:1px solid var(--line);border-radius:10px}.lynx-map-panel{padding:10px}.lynx-map-canvas{width:100%;height:min(72vh,760px);border:1px solid var(--line);border-radius:10px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(380px,92vw);background:linear-gradient(160deg,#fff,var(--card-muted))}.login-label{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px}.form-error,.login-label{font-size:12px;font-family:Manrope,system-ui,sans-serif}.form-error{color:var(--c-danger);margin-bottom:8px}.card-grid{display:flex;flex-wrap:wrap;gap:12px}.card{width:220px;background:var(--card);border-radius:10px;border:1px solid var(--line);box-shadow:var(--shadow-sm);overflow:hidden}.card-meta{padding:8px;font-size:12px}.bad-delta{color:var(--c-accent);font-weight:700}.modal-backdrop{position:fixed;inset:0;background:rgba(14,18,12,.65);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);padding:16px;width:90%;max-width:1100px;max-height:90%;overflow:auto;border-radius:12px}.modal-grid{display:grid;grid-template-columns:minmax(300px,1fr) 320px;grid-gap:16px;gap:16px}.meta-row{display:flex;gap:8px;margin-bottom:6px;font-size:12px}.meta-label{width:130px;color:var(--muted)}.meta-value{color:var(--text);word-break:break-word}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}thead{background:var(--c-secondary-2)}@media (max-width:1024px){.app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;padding:14px}.app-topbar{padding:12px 14px}.app-content{padding:14px}.page-title{font-size:24px}.modal-grid{grid-template-columns:1fr}}