:root{font-family:Tahoma,Arial,sans-serif;color:#062d5b;background:#f3f9fc}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;background:#062d5b;color:#fff}button:hover{opacity:.9}.secondary{background:#08bfd0;color:#062d5b}.ghost{background:#e9f8fc;color:#062d5b}.danger{background:#fce7e7;color:#a22}.shell{max-width:1200px;margin:auto;padding:25px}.header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.brand{font-weight:700;font-size:23px}.muted{color:#60788f;font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.card,.panel{background:#fff;border:1px solid #d9edf5;border-radius:15px;padding:19px;box-shadow:0 3px 15px #062d5b08}.stat{font-size:29px;font-weight:700;margin-top:10px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input{flex:1;min-width:200px}input,select,textarea{border:1px solid #cbdde7;border-radius:9px;padding:11px;width:100%;background:#fff;color:#062d5b}label{font-size:13px;font-weight:700;display:block;margin-bottom:6px}.formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.full{grid-column:1/-1}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;white-space:nowrap}th,td{padding:13px;border-bottom:1px solid #edf2f5;font-size:14px}th{color:#5b7285}.tag{display:inline-block;padding:5px 9px;border-radius:99px;background:#e9f8fc;font-size:12px}.late{color:#bc3636;background:#ffebeb}.overlay{position:fixed;inset:0;background:#001b3988;display:grid;place-items:center;padding:16px;z-index:5}.modal{background:#fff;border-radius:15px;padding:22px;width:min(650px,100%);max-height:90vh;overflow:auto}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:15px}.auth{max-width:420px;margin:9vh auto}.auth input{margin:8px 0 15px}.notice{background:#e9f8fc;border-radius:9px;padding:12px;margin:12px 0;font-size:13px}#toast{position:fixed;bottom:20px;left:20px;background:#062d5b;color:#fff;padding:12px 18px;border-radius:9px;display:none;z-index:10}.timeline{border-right:3px solid #08bfd0;padding-right:12px;margin:15px 0}.entry{padding:9px 0;border-bottom:1px solid #eee}a{color:#159dda}@media(max-width:700px){.cards{grid-template-columns:repeat(2,1fr)}.formgrid{grid-template-columns:1fr}.shell{padding:12px}.brand{font-size:18px}}
