*{box-sizing:border-box}body{font:15px system-ui,sans-serif;margin:0;background:#f4f7f5;color:#182c27}header{display:flex;justify-content:space-between;padding:24px 4vw;background:#183e32;color:white}header strong{font-size:24px}header span{font-weight:400;font-size:17px;margin-left:12px}main{max-width:1400px;padding:28px;margin:auto}h1{font-size:30px;margin:10px 0 20px}h2{font-size:20px}button,input,select,textarea{font:inherit;border:1px solid #c1d1c8;border-radius:7px;padding:10px}button{cursor:pointer;background:#e3eee7;color:#164b35}button:hover{background:#cce4d4}input,textarea,select{background:white;max-width:100%}label{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}label.check{flex-direction:row;align-items:center}form{max-width:640px}#login{max-width:450px;margin:8vh auto;background:white;padding:28px;border-radius:14px}.toolbar,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.toolbar h1{margin-right:auto}nav{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}table{border-collapse:collapse;width:100%;background:white}th,td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid #e3ebe6}th{background:#e4ece7;font-weight:600}td small{display:block;color:#5a6a61}.tablewrap{overflow:auto;border:1px solid #d8e2dc;border-radius:9px}.calendar{min-width:800px}.calendar td{min-width:150px;height:120px}.task{display:block;text-align:left;width:100%;margin:4px 0;border-left:4px solid #238460;background:#f3f8f4}.task.cancelled{opacity:.55}.muted{color:#5c7267}.badge{display:inline-block;padding:3px 7px;background:#d9ecdf;border-radius:5px;font-size:12px}dialog{width:650px;max-width:94vw;max-height:90vh;overflow:auto;border:1px solid #c5d7cd;border-radius:13px;padding:24px}dialog::backdrop{background:#132b2560}#message{color:#834623;white-space:pre-wrap}details pre{white-space:pre-wrap;word-break:break-word;font-size:12px;max-width:650px}img.report{max-width:100%;max-height:350px;border:1px solid #ddd}a{color:#205d43}.actions{justify-content:flex-end;margin-top:18px}.section{background:white;padding:20px;border-radius:10px;margin-bottom:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){main{padding:16px}.grid{grid-template-columns:1fr}header{padding:16px}}
