:root{--wm-green:#00965e;--wm-green-dark:#007a4d;--wm-yellow:#ffcb00;--wm-white:#fff;--wm-background:#f5f7f6;--wm-card:#fff;--wm-text:#1f2937;--wm-muted:#52615b;--wm-border:#d9e2de;--wm-danger:#b42318;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--wm-text);background:var(--wm-background)}*{box-sizing:border-box}html{line-height:1.5}body{margin:0;background:var(--wm-background)}a{color:var(--wm-green-dark)}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--wm-green);color:var(--wm-white);display:flex;flex-direction:column;padding:1.25rem 1rem;z-index:20}.brand{display:flex;align-items:center;gap:.8rem;color:var(--wm-white);text-decoration:none;font-size:1.08rem;font-weight:800;padding:.25rem .4rem 1.45rem}.brand img{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:9px;padding:4px}.brand span{display:grid}.brand small{font-weight:500;opacity:.9;font-size:.78rem}.sidebar nav{display:grid;gap:.35rem}.sidebar nav>a,.sidebar summary,.sidebar .submenu,.nav-logout{display:block;width:100%;color:var(--wm-white);text-align:left;text-decoration:none;padding:.78rem .85rem;border:0;border-radius:8px;cursor:pointer;background:transparent;font:inherit;font-weight:650}.sidebar nav>a:hover,.sidebar summary:hover,.sidebar .submenu:hover,.nav-logout:hover{background:var(--wm-green-dark)}.sidebar details[open] summary{background:var(--wm-green-dark);border-left:4px solid var(--wm-yellow)}.sidebar .submenu{margin:.2rem 0 0 1rem;width:calc(100% - 1rem);padding:.62rem .8rem}.sidebar nav form{margin:0}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff40;padding:1rem .5rem 0;font-size:.82rem;opacity:.88}.page{margin-left:260px;min-height:100vh;display:flex;flex-direction:column}.app-header{height:74px;padding:0 2rem;background:var(--wm-white);border-bottom:2px solid var(--wm-green);display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-header strong{color:var(--wm-green-dark);font-size:1.05rem}.app-header span{color:var(--wm-muted)}.page main{width:min(1280px,100%);margin:0 auto;padding:2rem}.app-footer{margin-top:auto;display:flex;justify-content:space-between;gap:1rem;padding:1rem 2rem;border-top:1px solid var(--wm-border);background:var(--wm-card);color:var(--wm-muted);font-size:.86rem}.menu-toggle,.nav-overlay{display:none}h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;margin:.2rem 0 1rem;color:var(--wm-text)}h2{color:var(--wm-text)}.hero{padding:2.4rem 0 1.5rem;max-width:780px}.hero p:not(.eyebrow){font-size:1.15rem;color:var(--wm-muted)}.eyebrow{margin:0;color:var(--wm-green);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.titlebar{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.titlebar h1{margin-bottom:0}.button,button{display:inline-block;background:var(--wm-green);color:var(--wm-white);border:0;border-radius:8px;padding:.72rem 1rem;text-decoration:none;font-weight:700;cursor:pointer}.button:hover,button:hover{background:var(--wm-green-dark)}.secondary{background:var(--wm-white);color:var(--wm-green-dark);border:1px solid var(--wm-border)}.danger{background:var(--wm-danger)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.card,.panel{background:var(--wm-card);border:1px solid var(--wm-border);border-radius:10px;padding:1.5rem;box-shadow:0 3px 14px #1f29370d}.card{display:flex;flex-direction:column;text-decoration:none;color:var(--wm-text)}.card strong{font-size:2.4rem;color:var(--wm-green)}.filters,.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.filters{grid-template-columns:2fr 1fr 1fr auto;align-items:end;background:var(--wm-card);border:1px solid var(--wm-border);border-radius:10px;padding:1rem;box-shadow:0 3px 14px #1f29370d}.formgrid .wide,.grid .wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:.38rem;font-weight:650}input,select,textarea{width:100%;padding:.72rem;border:1px solid var(--wm-border);border-radius:7px;background:var(--wm-white);color:var(--wm-text);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #00965e28;border-color:var(--wm-green)}textarea{min-height:6rem}.check{flex-direction:row;align-items:center}.check input{width:auto}.actions{display:flex;align-items:center;gap:.75rem}.tablewrap{overflow:auto;background:var(--wm-card);border:1px solid var(--wm-border);border-radius:10px;box-shadow:0 3px 14px #1f29370d}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:.82rem 1rem;border-bottom:1px solid var(--wm-border)}th{background:#edf3f0;color:var(--wm-text);font-size:.86rem}tbody tr:hover{background:#00965e0a}.badge{display:inline-block;background:#e5ece9;padding:.25rem .55rem;border-radius:2rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}dt{color:var(--wm-muted);font-size:.85rem}dd{margin:.2rem 0}.auth{max-width:480px;margin:3rem auto}.auth form{display:grid;gap:1rem}.validation{color:var(--wm-danger);background:#fff0ee;border:1px solid #f4b8b2;border-radius:8px;padding:.8rem;margin-bottom:1rem}.validation:empty{display:none}.notice{padding:1rem;background:#fff5d8;border-left:4px solid var(--wm-yellow);margin-bottom:1rem}.muted{color:var(--wm-muted)}code{overflow-wrap:anywhere}.menu-toggle:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--wm-yellow);outline-offset:2px}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:transform .2s}.page{margin-left:0}.menu-toggle{display:block;position:fixed;top:.75rem;left:.75rem;z-index:30;background:var(--wm-green);font-size:1.2rem}.app-header{padding-left:4.5rem}.page main{padding:2rem 1rem 1.5rem}body.nav-open .sidebar{transform:translateX(0)}body.nav-open .nav-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:10}.filters{grid-template-columns:1fr 1fr}.formgrid,.grid{grid-template-columns:1fr}.formgrid .wide,.grid .wide{grid-column:auto}}@media(max-width:600px){.titlebar{align-items:flex-start;flex-direction:column}.filters{grid-template-columns:1fr}.app-footer{flex-direction:column}.app-header span{display:none}.page main{padding-inline:.75rem}}
