*{box-sizing:border-box}body{color:#222;background:#f4f5f7;margin:0;font-family:Malgun Gothic,Apple SD Gothic Neo,sans-serif;font-size:12px}button,input,select,textarea{font:inherit}h2{margin:0;font-size:16px}.top{color:#fff;background:#1f3f7a;align-items:center;gap:8px;height:40px;padding:0 12px;display:flex}.top .logo{cursor:pointer;height:28px;margin-right:8px;display:block}.top .sub{color:#cfd8ea}.top .sep{color:#7f95c4;margin:0 8px}.top .wh{font-weight:700}.top .right{margin-left:auto}.body{min-height:calc(100vh - 40px);display:flex}.side{background:#fff;border-right:1px solid #d5d9e0;width:175px;padding-bottom:30px;position:relative}.side-title{border-bottom:1px solid #d5d9e0;padding:8px 12px;font-weight:700}.menu-group{color:#333;padding:8px 12px 2px;font-weight:700}.side a{color:#333;padding:4px 12px 4px 30px;text-decoration:none;display:block}.side a:hover{background:#eef2f9}.side a.active{color:#1f3f7a;background:#e2eaf7;border-left:3px solid #1f3f7a;padding-left:27px;font-weight:700}.side-foot{color:#666;border-top:1px solid #d5d9e0;padding:6px 12px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.content{flex:1;min-width:0;padding:8px 10px}.page-title{border-bottom:1px solid #d5d9e0;justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 0 8px;display:flex}.page-title .path{color:#666;font-size:11px}.search{background:#fff;border:1px solid #d5d9e0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px;padding:8px 12px;display:flex}.search label{margin-left:8px;font-weight:700}.search input[type=text],.search input[type=date],.search select{border:1px solid #b8c0cc;height:24px;padding:0 6px}.search .btn.primary{margin-left:auto}.grid-title{align-items:center;gap:8px;min-height:26px;margin:6px 0 4px;display:flex}.grid-title .bar{background:#1f3f7a;width:3px;height:14px;display:inline-block}.grid-title .desc{color:#666}.grid-title .right{align-items:center;gap:4px;margin-left:auto;display:flex}table.grid{border-collapse:collapse;background:#fff;border:1px solid #b8c0cc;width:100%;margin-bottom:8px}table.grid th,table.grid td{text-align:center;white-space:nowrap;border:1px solid #d5d9e0;padding:4px 6px}table.grid th{background:#eef1f6;font-weight:700}table.grid td.left{text-align:left}table.grid td.num{text-align:right}table.grid tbody tr:hover{background:#f5f8fd}table.grid tbody tr.on{background:#dfe8f7}table.grid tbody tr.sum td{background:#eef1f6;font-weight:700}table.form{border-collapse:collapse;background:#fff;border:1px solid #b8c0cc;width:100%}table.form th,table.form td{text-align:left;border:1px solid #d5d9e0;padding:4px 8px}table.form th{white-space:nowrap;background:#eef1f6;width:120px}table.form input,table.form select,table.form textarea{border:1px solid #b8c0cc;width:220px;height:24px;padding:0 6px}table.form input[readonly]{color:#666;background:#eee}.hint{color:#666;margin-left:6px}.btn{cursor:pointer;background:#fff;border:1px solid #8b96a8;height:24px;padding:0 10px}.btn:hover{background:#f0f3f8}.btn.primary{color:#fff;background:#1f3f7a;border-color:#1f3f7a}.btn.danger{color:#c0392b;border-color:#c0392b}.btn.plain{background:0 0;border:none;padding:0 4px}.btn.plain:hover{text-decoration:underline}.note{color:#555;margin:4px 0 8px}.red{color:#c0392b;font-weight:700}.detail-bar{justify-content:flex-end;align-items:center;gap:4px;margin:4px 0 8px;display:flex}table.form.head th{width:100px}table.form.head td{min-width:140px}.two-col{align-items:flex-start;gap:12px;margin-top:8px;display:flex}.two-col .col-left{flex:5;min-width:0;overflow-x:auto}.two-col .col-right{flex:7;min-width:0;overflow-x:auto}.auth-page{background:#f4f5f7;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-box{background:#fff;border:1px solid #d5d9e0;width:380px}.auth-head{color:#fff;background:#1f3f7a;align-items:center;gap:8px;padding:12px 16px;display:flex}.auth-head img{height:28px}.auth-head b{font-size:14px}.auth-body{padding:20px 16px}.auth-body table.form{width:100%}.auth-body table.form th{width:90px}.auth-body input,.auth-body select{border:1px solid #c9ced6;width:100%;height:28px;padding:0 6px}.auth-actions{margin-top:14px}.auth-actions .btn{width:100%;height:32px}.auth-foot{text-align:center;color:#666;margin-top:12px}.auth-foot a{color:#1f3f7a}.top .logout{color:#fff;cursor:pointer;background:0 0;border:1px solid #8ea3c9;margin-left:8px;padding:2px 8px}
