*{box-sizing:border-box}body{margin:0;background:#f4f6fa;color:#253653;font:16px system-ui,Arial,sans-serif}header{background:#385591;color:white;padding:20px 6%;display:flex;gap:28px;align-items:center}header img{height:auto;max-width:140px}small{display:block;color:#647187;font-size:13px;line-height:1.6}header small{color:white}main{max-width:1100px;margin:30px auto;padding:0 22px}h1,h2{color:#385591}h1{font-size:30px}p{line-height:1.7}.card{background:white;padding:26px;border:1px solid #dce3ee;border-radius:12px;margin:22px 0}.login{max-width:520px}label{display:block;margin:18px 0;font-weight:600}input,textarea,select{display:block;margin-top:8px;border:1px solid #bdcce3;border-radius:6px;padding:12px;font:inherit;width:100%;max-width:650px}input[type=file]{font-size:14px}textarea{min-height:85px}button,.button{display:inline-block;background:#385591;color:white;padding:12px 18px;border:0;border-radius:6px;text-decoration:none;cursor:pointer;font:inherit;margin:6px 0}button.secondary{background:#eaf0fa;color:#385591}a{color:#385591}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav form{margin-left:auto}.error{background:#fce9e3;color:#802e22;padding:16px;border-radius:6px}.note{background:#fff2d9;padding:14px}.badge{font-size:12px;font-weight:600;padding:6px 10px;border-radius:5px;display:inline-block;background:#edf0f5}.approved{background:#e4f2e8;color:#256348}.pending{background:#fff2d9;color:#805a0b}.rejected{background:#fce9e3;color:#a04b36}article{border-top:1px solid #dce3ee;padding:24px 0}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:16px 10px;border-bottom:1px solid #dce3ee}th{font-size:13px}.tablewrap{overflow-x:auto}progress{width:100%;margin:20px 0;accent-color:#385591}.review{background:#f4f6fa;padding:18px;margin-top:20px;border-radius:8px}summary{cursor:pointer;font-weight:700;color:#385591}footer{padding:25px 0;font-size:12px;line-height:1.7;color:#647187}input:focus,textarea:focus,select:focus,button:focus,a:focus{outline:3px solid #a9bfe6;outline-offset:3px}@media(max-width:600px){header{padding:16px 20px;gap:20px}header img{max-width:110px}.card{padding:18px}main{padding:0 14px}h1{font-size:25px}nav{gap:12px}button{width:100%}}