*{margin:0;padding:0;box-sizing:border-box}
:root{--navy:#0d1f3c;--orange:#E8821E;--cream:#F7F4EC;--ink:#0B1938;--mut:#3d4658}
body{font-family:'Poppins',system-ui,sans-serif;background:var(--cream);color:var(--ink)}
a{color:var(--orange);text-decoration:none}
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:34px 48px 26px}
.hero .circ{position:absolute;border:1px solid rgba(232,130,30,.30);border-radius:50%}
.hero .k{color:var(--orange);font-size:11px;font-weight:700;letter-spacing:4px}
.hero h1{font-family:Georgia,'Playfair Display',serif;font-size:34px;margin-top:8px}
.hero .sub{font-style:italic;color:#c9d0dd;font-size:13px;margin-top:6px}
.hero .rule{width:56px;border-top:3px solid var(--orange);margin-top:12px}
.hero .who{position:absolute;right:48px;top:38px;text-align:right;font-size:12px;color:#c9d0dd}
.hero img.lg{position:absolute;right:48px;top:34px;width:88px}
.wrap{max-width:880px;margin:26px auto;padding:0 20px}
.dayh{position:relative;background:#f3e8d8;border-left:4px solid var(--orange);padding:9px 16px;font-size:12px;font-weight:700;letter-spacing:2px;margin:18px 0 10px}
.card{background:#fff;border:1px solid #ebe5d6;border-radius:12px;padding:14px 18px;margin-bottom:10px;box-shadow:0 4px 14px rgba(13,31,60,.05)}
.tm{color:var(--orange);font-weight:700;font-size:12px}
.ss{font-family:Georgia,serif;font-weight:700;font-size:15px;margin:2px 0}
.rl{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:1.1px;color:var(--orange);border:1px solid var(--orange);padding:1px 7px;border-radius:9px;margin-left:8px;vertical-align:2px}
.dt{font-size:12px;color:var(--mut);margin-top:2px}
.up{margin-top:10px;border-top:1px dashed #e3dcc9;padding-top:10px}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:8px;padding:8px 16px;font-weight:600;font-size:12.5px;cursor:pointer}
.btn.or{background:var(--orange)}
.file{font-size:12px;color:var(--mut);margin:4px 0}
.file b{color:var(--ink)}
.bar{height:7px;background:#eee5d4;border-radius:4px;overflow:hidden;margin-top:6px;display:none}
.bar i{display:block;height:100%;width:0;background:var(--orange)}
.login{max-width:400px;margin:7vh auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(13,31,60,.25)}
.login .hd{background:var(--navy);padding:30px 30px 24px;position:relative;overflow:hidden}
.login .bd{padding:26px 30px 30px}
.login label{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--mut)}
.login input{width:100%;padding:11px 12px;margin:5px 0 15px;border:1.5px solid #dcd4c2;border-radius:8px;font-family:inherit;font-size:14px}
.login input:focus{outline:none;border-color:var(--orange)}
.err{background:#fbe9e7;color:#b3402a;font-size:12.5px;padding:8px 12px;border-radius:8px;margin-bottom:12px}
.note{font-size:11px;color:var(--mut);margin-top:12px;line-height:1.5}
.bgart{position:fixed;inset:0;background:url(bg.jpg) center/cover;opacity:.5;z-index:-1}
.ftr{background:var(--navy);color:#8a97b0;font-size:10px;letter-spacing:1.5px;padding:12px 48px;margin-top:40px}
.ftr b{color:var(--orange)}
table.adm{width:100%;border-collapse:collapse;background:#fff;font-size:12.5px}
table.adm th{background:var(--navy);color:#fff;text-align:left;padding:8px 10px;font-size:11px;letter-spacing:1px}
table.adm td{padding:7px 10px;border-bottom:1px solid #ede7d8;vertical-align:top}
.ok{color:#1c7c40;font-weight:700}.miss{color:#b3402a;font-weight:700}
