*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#1b2c43;font:15px system-ui,-apple-system,"Malgun Gothic",sans-serif}header{height:64px;background:white;border-bottom:1px solid #dce5ef;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:12px}.brand a{font-weight:800;text-decoration:none;color:#183b68;font-size:20px}.brand small{color:#6b7d90;margin-left:12px}button,.btn{border:0;background:#225dab;color:white;padding:10px 14px;border-radius:9px;cursor:pointer;font:inherit}button:hover{filter:brightness(.94)}button.secondary,.ghost{background:#e8eef6;color:#24466a}button.danger{background:#a43c43}input,select,textarea{width:100%;border:1px solid #cdd8e4;background:white;padding:10px;border-radius:8px;font:inherit}textarea{min-height:80px}label{display:block;font-size:13px;color:#52677d;font-weight:600}label input,label select,label textarea{margin-top:6px}.shell{max-width:700px;margin:7vh auto;padding:15px}.panel,.card{background:#fff;border:1px solid #dee7f0;border-radius:14px;padding:20px;box-shadow:0 2px 8px #1f436011}.auth{max-width:450px;margin:auto}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.layout{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:calc(100vh - 110px)}aside{background:#163252;color:white;padding:22px 14px}.sidebrand{padding:8px 12px 24px;font-size:20px;font-weight:800;letter-spacing:2px}nav{display:grid;gap:5px}nav button{text-align:left;background:transparent;padding:13px}nav button.active,nav button:hover{background:#285581}.asidehint{color:#c0d1e7;font-size:12px;margin:28px 12px}main{padding:26px;min-width:0;max-width:1400px;width:100%}.heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.heading h1{font-size:26px;margin:0 0 20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.metric{background:white;border:1px solid #dee7f0;padding:16px;border-radius:12px}.metric b{display:block;font-size:27px;margin-top:7px}.metric small,.muted{color:#718399}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.toolbar input{max-width:290px}.tablewrap{overflow:auto;background:white;border:1px solid #dee7f0;border-radius:12px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:12px;text-align:left;border-bottom:1px solid #e6edf4}th{background:#f6f9fd;color:#4b617b;font-size:13px}tr:last-child td{border-bottom:0}.tag{display:inline-block;padding:4px 8px;border-radius:20px;background:#e7effb;font-size:12px}.forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.forms .wide{grid-column:1/-1}.modal{max-width:820px;margin:18px 0}.modal h2{margin-top:0}.empty{padding:28px;text-align:center;color:#627992}.note{padding:12px;background:#fff8e8;border:1px solid #ffe3a3;border-radius:9px;margin:12px 0}.small{font-size:12px}footer{padding:16px;text-align:center;font-size:12px;color:#7a8b9e}.filelist{display:grid;gap:10px}.filelist a{color:#1255a3}.mobileonly{display:none}@media(max-width:850px){.layout{display:block}aside{padding:10px}.sidebrand,.asidehint{display:none}nav{display:flex;overflow-x:auto}nav button{white-space:nowrap;font-size:12px;padding:10px}main{padding:16px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.grid,.forms{grid-template-columns:1fr}.heading h1{font-size:22px}.brand small{display:none}}