:root{font-family:Tahoma,Arial,sans-serif;color:#17221e;background:#f3f6f3;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100vh}
.topbar{height:68px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e3eae5}
.brand{font-weight:800;font-size:21px;color:#17694b;text-decoration:none}.brand span{font-size:13px;font-weight:500;color:#77847d;margin-right:10px}
.account{display:flex;align-items:center;gap:18px;font-size:14px}.account form{margin:0}.logout{font:inherit;border:0;background:transparent;color:#17694b;cursor:pointer}
.nav-links{display:flex;gap:14px;align-items:center}.nav-links a{color:#53645b;text-decoration:none;font-size:13px}.nav-links a:hover,.back-link:hover{color:#17694b}
.page{width:min(100% - 36px,900px);margin:54px auto}
.welcome{margin-bottom:28px}.eyebrow{color:#18805a;font-size:13px;font-weight:700;margin:0 0 10px}h1{font-size:clamp(24px,4vw,34px);margin:0 0 12px}h2{font-size:19px;margin:0 0 18px}.muted{color:#6a7770;line-height:1.9;margin:0}
.card,.login-card{background:#fff;border:1px solid #e4ebe6;border-radius:18px;padding:26px;box-shadow:0 8px 28px #173d2810}
.role-list{padding:0;margin:0;list-style:none}.role-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #edf1ee}.role-list li span{color:#6a7770}
.login-card{max-width:440px;margin:5vh auto;padding:34px}.login-card form{display:grid;gap:10px;margin-top:24px}.login-card label{font-size:14px;font-weight:700;margin-top:4px}.login-card input{font:inherit;border:1px solid #d6e0d9;border-radius:10px;padding:12px;background:#fff}.login-card input:focus{outline:3px solid #18805a25;border-color:#18805a}.login-card button[type=submit]{font:inherit;font-weight:700;color:white;border:0;border-radius:10px;background:#17694b;padding:13px;margin-top:10px;cursor:pointer}.error{background:#fff1ef;color:#a52e24;padding:10px;border-radius:8px}
.section-gap{margin-top:20px}.section-heading,.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-heading{justify-content:space-between}.section-heading h2{margin:0}.actions{margin-top:20px}.button{display:inline-block;font:inherit;font-size:14px;text-decoration:none;text-align:center;color:white;background:#17694b;border:0;border-radius:9px;padding:10px 15px;cursor:pointer}.button:hover{background:#10563c}.button.secondary{background:#e9f2ec;color:#17694b}.button.small{padding:7px 11px;font-size:12px}.stats{display:flex;gap:14px;margin:18px 0}.stats div{min-width:130px;padding:14px;background:#f4f8f5;border-radius:12px}.stats strong,.stats span{display:block}.stats strong{font-size:24px;color:#17694b}.stats span{font-size:12px;color:#65746b;margin-top:4px}.plain-list{padding-right:20px;line-height:2}.child-card{border-top:1px solid #edf1ee;padding:18px 0}.child-card:first-of-type{border-top:0}.child-card h3,.card h3{font-size:15px;margin:14px 0 8px}.form-card{max-width:680px;margin:auto;background:#fff;border:1px solid #e4ebe6;border-radius:18px;padding:30px;box-shadow:0 8px 28px #173d2810}.form-card h1{margin-top:16px}.back-link{color:#60756a;text-decoration:none;font-size:13px}.stacked-form{margin-top:22px}.stacked-form p{display:grid;gap:7px;margin:0 0 16px}.stacked-form label{font-size:14px;font-weight:700}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;font:inherit;border:1px solid #d6e0d9;border-radius:9px;padding:10px;background:white}.stacked-form textarea{min-height:100px}.stacked-form .helptext{font-size:12px;color:#718078}.stacked-form ul.errorlist{color:#a52e24;margin:0;padding-right:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:right;padding:12px 10px;border-bottom:1px solid #edf1ee;white-space:normal}th{color:#65746b;font-size:12px;background:#f8faf8}td a{color:#17694b}.hero{min-height:54vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:#fff;border:1px solid #e4ebe6;border-radius:22px;padding:clamp(28px,7vw,72px);background-image:radial-gradient(circle at 90% 10%,#e4f3e9 0,transparent 38%)}.hero h1{font-size:clamp(30px,6vw,52px)}.hero .button{margin-top:25px}
@media(max-width:720px){.topbar{height:auto;min-height:62px;padding:12px 18px;flex-wrap:wrap;gap:12px}.nav-links{order:3;width:100%;overflow-x:auto;padding:6px 0}.account{margin-right:auto}.page{margin:28px auto}.card{padding:20px}.role-list li{align-items:flex-start;flex-direction:column;gap:4px}.stats{flex-wrap:wrap}}
