*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:#f3efe9;color:#222;display:flex;min-height:100vh}
aside{width:200px;background:linear-gradient(#1f1f23,#3a2f2a);padding:16px 0;flex-shrink:0}aside h1{color:#f5a623;font-size:20px;text-align:center;margin:0 0 16px}
aside a{display:block;color:#ddd;padding:11px 20px;text-decoration:none}aside a.on,aside a:hover{background:#f5a623;color:#111}
main{flex:1;padding:22px;overflow:auto}h2{border-left:5px solid #f5a623;padding-left:10px}
.card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 2px 8px #0002;margin:12px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end}
label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:4px}input,select{padding:9px;border:1px solid #ccc;border-radius:6px;font-size:14px}
button{background:#f5a623;border:0;padding:10px 18px;border-radius:6px;font-weight:700;cursor:pointer}button:hover{background:#d98f12}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.stat{background:#fff;border-radius:10px;padding:16px;border-top:4px solid #f5a623;box-shadow:0 2px 8px #0002}
.stat span{display:block;font-size:13px;color:#666}.stat b{font-size:22px}.stat.big{background:#1f1f23;color:#f5a623;grid-column:1/-1}.stat.big span{color:#ccc}.stat.big b{font-size:30px}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff;margin:10px 0}th{background:#1f1f23;color:#f5a623;text-align:left}th,td{padding:8px 10px;border-bottom:1px solid #eee;font-size:14px}
tr.due{background:#ffe3e0}.good{color:#0a7a2f;font-weight:700}.bad{color:#c0392b}.inl{display:flex;gap:6px}
body.login{justify-content:center;align-items:center;background:#1f1f23}body.login .card{width:320px;display:flex;flex-direction:column;gap:12px}
@media(max-width:700px){body{flex-direction:column}aside{width:100%;display:flex;flex-wrap:wrap}aside h1{display:none}}
@media print{aside,button,form{display:none}}
.x{background:#e74c3c;color:#fff;padding:4px 9px}.x:hover{background:#c0392b}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{display:flex;align-items:center;gap:6px;background:#f3efe9;border-radius:20px;padding:3px 4px 3px 12px;font-size:13px}
summary{cursor:pointer;font-weight:700}.optgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:12px}
.addrow{display:flex;gap:8px;margin:8px 0}.addrow input{flex:1;min-width:0}.addrow button{white-space:nowrap}
.chip form{margin:0}.chip .x{background:none;color:#c0392b;padding:2px 7px;font-size:13px}.chip .x:hover{background:#ffe3e0}
.searchbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.searchbar input{flex:1;min-width:200px}.searchbar span{color:#666;font-size:13px}.searchbar a{color:#c0392b;text-decoration:none}
.remnote{grid-column:1/-1;font-weight:700;min-height:20px}