:root{--header-bg: #1F5CA8;--nav-bg: #0E7C3A;--nav-active: #FFE600;--head-bg: #E6E9ED;--border: #D0D0D0;--side-bg: #DCE6C8;--btn-query: #B8C6D9;--btn-add: #FFF7C2;--link-del: #1F6CB0;--red: #C00000;--green-border: #B8C9A8}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Microsoft YaHei,SimSun,宋体,sans-serif;font-size:14px;color:#000;background:#fff}a{color:inherit;text-decoration:none}.app-header{background:var(--header-bg);height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#fff}.app-header .title{font-size:30px;font-weight:700;letter-spacing:2px}.app-header .welcome{font-size:16px}.app-nav{background:var(--nav-bg);height:40px;display:flex;align-items:center}.app-nav a{color:#fff;font-size:18px;padding:0 18px;line-height:40px;border-left:1px solid #fff;cursor:pointer}.app-nav a:first-child{border-left:none}.app-nav a.active{color:var(--nav-active);border:1px dashed #fff;padding:0 16px;line-height:38px}.container{width:960px;margin:16px auto;background:#fff;border:1px solid var(--border);padding:14px}.page-title{font-size:16px;font-weight:700;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}.query-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:8px 10px;background:#fafafa;border-left:3px solid var(--nav-bg)}.query-bar label{font-size:14px}.query-bar input,.query-bar select{padding:4px 6px;border:1px solid #7f7f7f;font-size:13px}.data-table{width:100%;border-collapse:collapse;background:#fff}.data-table th,.data-table td{border:1px solid var(--border);padding:6px 8px;font-size:13px;text-align:center}.data-table th{background:var(--head-bg);font-weight:700}.data-table tr:nth-child(2n) td{background:#fbfbfb}.data-table .side-col{background:var(--side-bg);width:14px;padding:0}.data-table td.text-left{text-align:left}.data-table td.text-right{text-align:right}.link-del{color:var(--link-del);cursor:pointer}.link-del:hover{text-decoration:underline}.btn-return{color:var(--red);border:1px dashed var(--red);background:transparent;padding:1px 6px;cursor:pointer;font-size:13px}.tag-red{color:var(--red)}.btn{font-size:13px;padding:4px 12px;border:1px solid #7f9db9;background:var(--btn-query);cursor:pointer;border-radius:2px}.btn:hover{opacity:.85}.btn-add{background:var(--btn-add);border:1px solid #7a9a32}.btn-default{background:#fff;border:1px solid #999}.btn-danger{background:#fdeaea;border:1px solid var(--red);color:var(--red)}.form-panel{margin-top:14px;border:1px solid var(--green-border);padding:14px;background:#fff}.form-row{display:flex;align-items:center;margin-bottom:10px}.form-row label{width:120px;text-align:right;padding-right:10px;font-size:14px}.form-row input,.form-row select{padding:4px 6px;border:1px solid #7f7f7f;width:240px;font-size:13px}.form-actions{margin-left:120px;display:flex;gap:10px}.login-wrap{min-height:100vh;background:#eef2f7;display:flex;flex-direction:column;align-items:center;justify-content:center}.login-box{width:380px;background:#fff;border:1px solid var(--border);box-shadow:0 2px 10px #0000001a}.login-box .login-head{background:var(--header-bg);color:#fff;font-size:22px;font-weight:700;text-align:center;padding:16px 0;letter-spacing:2px}.login-box .login-body{padding:22px}.login-box .form-row label{width:84px}.login-box .form-row input,.login-box .form-row select{width:230px}.login-box .login-actions{margin:6px 0 0 84px}.login-box .btn{width:110px;padding:6px 0}.stat-row{display:flex;gap:14px;margin-top:6px}.stat-card{flex:1;border:1px solid var(--border);background:#f7faff;padding:16px;text-align:center}.stat-card .num{font-size:30px;font-weight:700;color:var(--header-bg)}.stat-card .label{font-size:14px;margin-top:6px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{width:520px;background:#fff;border:1px solid var(--border)}.modal-box .modal-head{background:var(--header-bg);color:#fff;padding:10px 14px;font-size:16px;font-weight:700}.modal-box .modal-body{padding:16px 18px}.modal-box .modal-foot{padding:10px 18px 16px;display:flex;gap:10px;justify-content:flex-end}
