:root{color-scheme:light;--ink:#152132;--muted:#65758b;--line:#e4eaf1;--bg:#f4f7fb;--white:#fff;--blue:#126db5;--soft:#eaf5ff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Tahoma,Arial,sans-serif;font-size:15px;line-height:1.7}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}.layout{min-height:100vh;display:grid;grid-template-columns:235px minmax(0,1fr)}.sidebar{background:#102235;color:#dbe6f2;padding:30px 16px;display:flex;flex-direction:column;gap:35px}.brand{font-size:23px;font-weight:800;white-space:nowrap;color:#fff}.brand span{display:block;color:#8db1ca;font-weight:400;font-size:13px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{border-radius:10px;padding:10px 13px;font-size:14px;transition:background .15s}.sidebar nav a:hover,.sidebar nav a.selected{background:#244761;color:#fff}.sidebar form{margin-top:auto}.logout{border:1px solid #547088;color:#fff;background:transparent;border-radius:9px;padding:8px 16px;width:100%;text-align:right}.logout:hover{background:#244761}.content{min-width:0;padding:35px clamp(20px,4vw,64px) 70px}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:13px;color:var(--blue);font-weight:700}.top h1{font-size:28px;line-height:1.4;margin:5px 0 0}.time,.note{color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:16px}.card{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:20px;min-height:153px;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 20px #243e5907}.card:hover{border-color:#9bd0f5;transform:translateY(-1px)}.card>span{font-size:14px;color:var(--muted)}.card strong{font-size:21px;line-height:1.4}.card strong.muted{font-size:17px;color:#b46633}.card small{color:var(--muted);font-size:12px;line-height:1.6}.note{margin:25px 0}.toolbar{display:flex;justify-content:space-between;gap:15px;margin-bottom:16px;color:var(--muted);font-size:14px}.table-scroll,.detail{background:var(--white);border:1px solid var(--line);border-radius:15px;overflow:auto}.table-scroll{max-width:100%}table{border-collapse:collapse;min-width:850px;width:100%;text-align:right}th,td{padding:13px 17px;border-bottom:1px solid var(--line);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}th{background:#f9fbfd;color:#5d6e81;font-weight:700;font-size:13px}td{font-size:13px}tbody tr:hover{background:#f7fbff}.detail{padding:20px}.detail h2{margin:0 0 14px;font-size:17px}.detail pre{font-size:13px;direction:ltr;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;max-height:70vh;overflow:auto;margin:0}.pages{display:flex;align-items:center;justify-content:center;gap:20px;padding:25px}.pages a{color:var(--blue);font-weight:700}.error{background:#fff3ee;border:1px solid #f3d1c0;color:#973e21;border-radius:10px;padding:14px 16px;margin:0 0 20px}.login{min-height:100vh;display:grid;place-content:center;gap:22px;padding:20px}.login .brand{color:var(--ink);text-align:center}.login .brand span{color:var(--muted)}.login-card{width:min(420px,calc(100vw - 40px));padding:34px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 20px 65px #19304612}.login-card h1{font-size:24px;margin:0 0 6px}.login-card p{color:var(--muted);margin:0 0 24px}.login-card form{display:grid;gap:12px}.login-card label{font-weight:700;font-size:14px}.login-card input{border:1px solid #cbd5df;border-radius:9px;padding:12px;outline:none;width:100%}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2086ce20}.login-card button{background:var(--blue);border:0;color:#fff;border-radius:9px;padding:11px;font-weight:700;margin-top:8px}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{padding:15px;gap:13px}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{white-space:nowrap}.sidebar form{margin:0}.logout{width:auto}.content{padding:24px 16px}.top{align-items:flex-start;flex-direction:column;gap:6px}.top h1{font-size:23px}}
