:root{font-family:Arial,sans-serif;color:#183333;background:#f3f6f5;font-size:14px}*{box-sizing:border-box}body{margin:0}aside{position:fixed;inset:0 auto 0 0;width:228px;background:#123c38;color:#fff;padding:32px 22px;display:flex;flex-direction:column}.brand{color:#eaf7ed;text-decoration:none;font-size:24px;letter-spacing:-1px;font-weight:bold}.brand span{display:block;color:#b2ccc1;font-size:13px;letter-spacing:1px;margin-top:8px;font-weight:normal}.badge{color:#d5e9bc;border:1px solid #517068;border-radius:20px;font-size:11px;padding:7px 12px;align-self:flex-start;margin:26px 0}nav button{display:block;width:100%;text-align:left;background:transparent;color:#c4d7d1;border:0;margin:5px 0;padding:12px;border-radius:7px}nav button.active{background:#2b5550;color:#fff}.aside-bottom{margin-top:auto;line-height:1.8;font-size:13px}.aside-bottom small{color:#9ebcb4}main{margin-left:228px;padding:36px 42px;max-width:1600px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#738a80;font-weight:bold}h1{font-family:Georgia,serif;font-weight:normal;font-size:35px;letter-spacing:-1px;margin:10px 0}h2{font-family:Georgia,serif;font-size:24px;font-weight:normal;margin:0 0 14px}h3{font-size:15px;margin:0 0 14px}p{color:#657b73;line-height:1.6;margin:8px 0 16px}button,.button{cursor:pointer;background:#235b4f;border:1px solid transparent;color:#fff;padding:11px 17px;border-radius:6px;font-size:13px;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(1.12)}button.secondary,.button.secondary{background:#fff;border-color:#d6e0da;color:#284b40}button.quiet{background:transparent;border:1px solid #79948a;margin-top:15px}button.danger{color:#a34538;background:#fff;border-color:#e9cbc5;padding:7px 10px}button:disabled{opacity:.5;cursor:default}.card{background:#fff;border:1px solid #dfe7e1;border-radius:10px;padding:24px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat{background:#fff;border:1px solid #dfe7e1;border-radius:9px;padding:20px}.stat strong{display:block;font-size:28px;margin:10px 0 3px;font-weight:normal}.stat small{color:#75867e}label{display:block;font-size:12px;color:#456357;margin-bottom:15px}input,select,textarea{display:block;width:100%;padding:11px;border:1px solid #cfdcd4;border-radius:5px;margin-top:7px;background:#fff;font:inherit;color:#19392f}textarea{min-height:100px;line-height:1.5}input[type=checkbox]{width:auto;display:inline;margin-right:7px}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;background:#eef3ef;color:#526c61;position:sticky;top:0}td,th{padding:12px 10px;border-bottom:1px solid #e4eae5}td input,td select{min-width:70px;margin:0;padding:8px}.table-wrap{overflow:auto;max-height:60vh;border:1px solid #e4eae5;border-radius:6px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.tag{font-size:11px;border-radius:20px;padding:5px 9px;background:#eaf2e5;color:#44663c}.muted{color:#73867b}.empty{padding:44px;text-align:center}.warning{background:#fff7e8;border:1px solid #e9d8b2;color:#80632d;border-radius:7px;padding:14px 18px;line-height:1.5;margin-bottom:20px}#notice:not(:empty){padding:12px 16px;background:#e4efdf;margin-bottom:20px;border-radius:6px}#notice.error{background:#fae7e2;color:#963f2e}dialog{border:1px solid #dbe5dd;border-radius:12px;width:430px;padding:34px}dialog::backdrop{background:#123c38cc}dialog h2{margin-top:20px}#login-error{color:#9a4335}.links{display:flex;gap:10px;flex-wrap:wrap}.title-line{display:flex;align-items:center;gap:12px;margin-bottom:12px}footer{font-size:12px;color:#75887e;margin:18px 0}code{font-family:monospace}a{color:#236452}@media(max-width:900px){aside{width:180px;padding:24px 14px}main{margin-left:180px;padding:26px 20px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}}@media(max-width:600px){aside{position:static;width:auto;padding:18px}.brand span,.badge,.aside-bottom{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}main{margin:0;padding:20px}header{align-items:flex-start}h1{font-size:28px}}@media print{aside,header button,.row button,.links,#notice{display:none}main{margin:0;padding:0}.table-wrap{max-height:none;overflow:visible}th{position:static}.card{break-inside:avoid}body{background:#fff}}
