*{box-sizing:border-box}
body{margin:0;background:#FFF3E0;color:#4E2600;font:15px/1.5 system-ui,-apple-system,Arial,sans-serif}
.container{max-width:980px;margin:auto;padding:16px}
.top{background:#F57C00;color:#fff;padding:16px max(16px,calc((100% - 948px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}
.light{color:#FFF0D9}
.card{background:#FFFDF9;border:1px solid #FFCC80;border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 4px 16px #B4530910}
h1{margin:0;font-size:24px}
h2{font-size:18px;margin:0 0 12px}
h3{margin:20px 0 8px}
label{display:block;font-weight:650;margin:12px 0 6px}
input,select,textarea{font:inherit;width:100%;padding:12px;border:1px solid #FFB74D;border-radius:10px;background:#FFFCF7;color:#4E2600}
input:focus,select:focus,textarea:focus{outline:2px solid #FB8C00;border-color:#F57C00}
input[type=radio]{width:auto;accent-color:#F57C00}
input[type=checkbox]{accent-color:#F57C00}
.btn{display:inline-block;text-decoration:none;border:0;border-radius:10px;padding:11px 14px;font:inherit;font-weight:700;text-align:center;cursor:pointer}
.primary{background:#F57C00;color:white}
.soft{background:#FFE0B2;color:#8A3D00}
.ghost{border:1px solid #FFFFFF99;color:white;background:transparent}
.full{width:100%;margin-top:12px}
.tiny{padding:7px 9px;font-size:12px}
.small{font-size:12px;color:#8D6E63;line-height:1.5}
.alert{padding:12px;border-radius:10px;margin:12px 0}
.success{background:#FFE0B2;color:#8A3D00}
.err{background:#FFCCBC;color:#A52A00}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.stat{background:#FFF8E9;border-radius:14px;padding:15px;border:1px solid #FFCC80}
.stat b{font-size:24px;display:block;color:#E66A00}
.stat span{font-size:12px;color:#8D6E63}
.kindgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kind{border:1px solid #FFCC80;border-radius:10px;padding:10px;margin:0;font-weight:600;background:#FFF8E9}
.kind input{margin-right:5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tablewrap{overflow:auto;margin-top:14px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{padding:10px 8px;border-bottom:1px solid #FFE0B2;text-align:left;vertical-align:top}
th{background:#FFE0B2;color:#713500;white-space:nowrap}
tr:hover td{background:#FFF8E9}
.pill{background:#FFE0B2;color:#8A3D00;border-radius:20px;padding:3px 8px;font-size:12px}
.headrow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.monthform{display:flex;gap:8px}
.monthform input{width:auto}
.loginbody{min-height:100vh;display:grid;place-items:center;padding:18px;background:#FFF3E0}
.loginbox{background:#FFFDF9;border:1px solid #FFCC80;border-radius:18px;padding:25px;width:100%;max-width:420px;box-shadow:0 10px 36px #B4530918}
.loginbox h1{font-size:23px;color:#E66A00}
.brand{width:46px;height:46px;border-radius:14px;background:#F57C00;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:800;margin-bottom:14px}
.muted{color:#8D6E63;font-size:13px}
.loginbox form{margin-top:18px}
footer{padding:18px 0;color:#8D6E63}
button:hover,.btn:hover{filter:brightness(.95)}
@media(max-width:580px){
.container{padding:10px}
.card{padding:14px}
.kindgrid{grid-template-columns:repeat(2,1fr)}
.grid2{grid-template-columns:1fr 1fr}
.stats{gap:6px}
.stat{padding:11px}
.stat b{font-size:21px}
.monthform{width:100%}
.monthform input{flex:1;min-width:0}
.top{padding:14px}
.btn{padding:10px 12px}
}