*{box-sizing:border-box}body{margin:0;background:#f3f5f3;color:#18303a;font:15px system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;background:#102b36;color:white}button.secondary{background:#e5ebe7;color:#18303a}button.danger{background:#9c3441}input,select,textarea{width:100%;padding:11px;border:1px solid #ced8d1;border-radius:9px;background:white;color:#18303a}textarea{min-height:90px}label{display:grid;gap:7px;font-size:13px;color:#53646a;margin-bottom:14px}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#102b36;color:#c8d7d9;padding:30px 18px;overflow:auto}.logo{color:#c1ed77;font-size:32px;font-weight:850;letter-spacing:2px}.subtitle{font-size:11px;letter-spacing:1px;margin:5px 0 30px}nav button{display:block;width:100%;text-align:left;background:transparent;color:#c4d1d4;padding:12px;margin:3px 0}nav button.active{background:#c1ed77;color:#102b36;font-weight:700}main{margin-left:230px;padding:32px 38px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:28px}h1{font-size:27px;margin:7px 0}h2{font-size:18px;margin:0 0 16px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#6b7e75;text-transform:uppercase}.muted{color:#70817a;font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:white;border:1px solid #dfe6df;border-radius:15px;padding:22px}.card strong{display:block;font-size:25px;margin:13px 0 8px}.card.accent{background:#102b36;color:#dce8e5}.card.accent strong{color:#c1ed77}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.toolbar{display:flex;gap:10px;align-items:center;margin:20px 0}.toolbar input{max-width:360px}.tablewrap{overflow:auto;background:white;border:1px solid #dfe6df;border-radius:14px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#70817a;font-size:12px;background:#f8faf7}td,th{padding:14px;border-bottom:1px solid #e9eee8}td{font-size:13px;max-width:320px;overflow:hidden;text-overflow:ellipsis}.badge{display:inline-block;background:#eaf3dc;color:#416b29;border-radius:20px;padding:5px 9px;font-size:12px}.item{padding:13px 0;border-bottom:1px solid #e9eee8;display:flex;justify-content:space-between;gap:12px}.item b{display:block;margin-bottom:4px}.empty{padding:25px;color:#70817a;text-align:center}.login{max-width:440px;margin:8vh auto;padding:32px;background:white;border-radius:20px;border:1px solid #dfe6df}.login .logo{color:#102b36}.login button{width:100%}.notice{padding:14px;background:#eef5df;border-radius:10px;font-size:13px;line-height:1.6;margin:15px 0}dialog{width:min(680px,94vw);border:0;border-radius:18px;padding:28px;max-height:90vh;box-shadow:0 24px 90px #102b3640}dialog::backdrop{background:#102b3670}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}#toast{position:fixed;bottom:20px;right:20px;padding:15px 22px;background:#102b36;color:white;border-radius:12px;display:none;max-width:90vw;z-index:9999}.negative{color:#a33d43}.positive{color:#426e28}.loading{text-align:center;padding:80px}.progress{height:8px;background:#e6eddf;border-radius:10px;margin:8px 0}.progress span{display:block;height:100%;border-radius:10px;background:#98c95d}a{color:#386753}@media(max-width:1050px){.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}main{padding:25px}}@media(max-width:700px){aside{position:static;width:auto;padding:16px}.logo{font-size:25px}.subtitle{margin:3px 0 12px}nav{display:flex;overflow:auto;gap:5px}nav button{width:auto;flex-shrink:0;padding:9px;font-size:12px}main{margin:0;padding:18px}header{align-items:flex-start}h1{font-size:23px}.card{padding:16px}.card strong{font-size:21px}.formgrid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}header .muted{display:none}}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:20px}.calendar>b{text-align:center;padding:10px}.calday{background:white;border:1px solid #dce5df;border-radius:10px;min-height:120px;padding:10px}.calday button{display:block;width:100%;text-align:left;font-size:11px;padding:5px;margin-top:6px;overflow-wrap:anywhere}.calnow{border:2px solid #91ba3a}.refsearch{margin-bottom:5px}.notice.full{grid-column:1/-1}@media(max-width:700px){.calendar{gap:2px}.calday{padding:3px;min-height:85px}.calday button{font-size:9px;padding:2px}}
